<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Piestar &#187; Programming</title>
	<atom:link href="http://piestar.net/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://piestar.net</link>
	<description>A pragmatic look at the state of FOSS</description>
	<lastBuildDate>Tue, 06 Jul 2010 07:54:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>What if they had a revolution, but nobody came?</title>
		<link>http://piestar.net/2009/09/21/what-if-they-had-a-revolution/</link>
		<comments>http://piestar.net/2009/09/21/what-if-they-had-a-revolution/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 01:28:25 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[I know 'Linux' is a kernel.  Shush.]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=245</guid>
		<description><![CDATA[So the Internet&#8217;s version of the Jehovah&#8217;s Witnesses were (allegedly) out in force again as free software day came and went again.  I certainly didn&#8217;t (luckily) see anyone that felt the need to press some crappy GNU/Linux distro into my hand while blathering about software &#8216;ethics&#8217;.  Maybe there are some advantages to living in a [...]]]></description>
			<content:encoded><![CDATA[<p>So the Internet&#8217;s version of the Jehovah&#8217;s Witnesses were (allegedly) out in force again as <a href="http://www.softwarefreedomday.org/" target="_blank">free software day</a> came and went again.  I certainly didn&#8217;t  (luckily) see anyone that felt the need to press some crappy GNU/Linux distro into my hand while blathering about software &#8216;ethics&#8217;.  Maybe there are some advantages to living in a chavvy hell-hole of a town sometimes.</p>
<p>Anyway that&#8217;s not really the point.  I used to be a nearly full-blown freetard a long time ago.  I had the whole &#8216;hate the man&#8217; thing down (Microsoft) and bought into the whole &#8216;by developers, for developers, lets cut out the corporate middle man&#8217; movement.  This was before I had even really used Linux &#8211; but the concept seemed sound.  And how can a developer not fall for that idea &#8211; software utopia, plus never having to deal with anti-user crap like artificial limits and activation again!  But then I actually used it for an extended duration and moved into my &#8216;the idea is sound, but it just needs more work&#8217; phase.  I believed with the concerted effort of like-minded people and by including designers, UI experts and artists it was only a matter of time.  The third phase was that it was a shame that a great idea was being ruined by a defensive community of non-developer, non-contributing idiots intent on scaring away anyone who didn&#8217;t believe it was already perfect.  At least I was partially right that time.</p>
<p>And finally, I am where I am now: It&#8217;s a bad idea to the point of being dangerous and it just won&#8217;t work anyhow.</p>
<p>Here&#8217;s the thing.  Nobody owns GPL&#8217;d code.  The <em>code</em> is free.  <em>You</em> are not.  For example you, as a user, have more freedoms when it comes to BSD licensed code &#8211; effectively you can do what you want with it, provided you provide credit.  GPL&#8217;d code on the other hand has a slew of limitations on what you can and cannot do and attaches a larger burden on you in terms of distribution of changes and source.  The <em>code</em> is more &#8216;free&#8217; under the GPL.  By GPL&#8217;ing code you effectively say &#8216;nobody owns this, it belongs to itself&#8217;.  I can sell BSD code and deny you your &#8216;fundamental right&#8217; to freely distribute it further.  I can also grant you the same right as the GPL.  The GPL simply ensures you cannot stop anyone from modifying and distributing.</p>
<p>The problem with the above is that it entirely negates ownership.  You cannot &#8216;own&#8217; free software.  It doesn&#8217;t matter if you wrote it &#8211; it&#8217;s not yours.  As soon as you release software under the GPL you have no more right to it than any of the other 6 billion people on the planet.  It&#8217;s why FOSS advocates call closed source (distastefully) &#8216;slavery&#8217;, as closed source software is owned and controlled by someone.</p>
<p>The ramifications of this are obvious &#8211; you can&#8217;t make money selling free software.  You <em>can</em> sell it, but so can everyone.  If you&#8217;ll need to sell 10,000 copies at £100 each to reclaim your investment and the kid in the local computer store will sell them for £5 to anyone that wants one then you&#8217;re simply never going to break even.  The whole &#8216;you can sell free software&#8217; excuse is intellectually dishonest as you have to compete with people with no sunk or running costs.  The best you can do is put up an online tip-jar and rely on effectively begging &#8211; and I&#8217;ve yet to hear of that working well.</p>
<p>Effectively, what the GPL and the Free Software movement says, is that <strong>developers do not deserve to be compensated for their effort</strong>.  Unless they can manage to sell the first copy for £1,000,000 then there is no way to ever get paid for the time spent.  It simply can&#8217;t be done.  If you want to man a phone line, do email support, work as a call out technician, then you can (according to &#8216;software freedom&#8217;) demand a fair hourly wage, but if you are a developer you can&#8217;t.  It&#8217;s &#8216;immoral&#8217;.  Simply on the basis that you cannot own code, thus can&#8217;t charge money for it.</p>
<p>The argument often made about the above is that businesses still need programmers.  Which is true.  But this is where the whole thing unravels fully.  I am a programmer &#8211; say I have an idea for a great new CMS tool*.  I now have two options:</p>
<ol>
<li> Quit my job, rely on my family to put up with me for a few months while I spend 12hrs+ a day working on it.</li>
<li>Take my idea to a large company such as IBM, Oracle, Microsoft or someone else like that.</li>
</ol>
<p>As above, according to the &#8216;software freedom&#8217; camp if I picked option 1. as soon as I released it it would be mine no more.  The second I tried to charge money for it it would just be forked and given away.  Instead of relying on the future income I could have gained from selling it at launch to pay back the debts I would have no doubt incurred, and to fund new development, I would be forced to &#8216;get a job&#8217;.  Any development work would have to be done in evenings and weekends &#8211; and I would effectively be forced to decide between programming what I want, or my marriage.  Plus the software would progress more slowly as I would not have much time to devote to it.</p>
<p>Now with option 2. there is pretty much zero chance of getting taken up on my idea.  You <strong>don&#8217;t</strong> tell a business that you want to hire you what you are going to work on.  Unless you are really, <em>really </em>famous.  Chances are unless your surname is something like &#8216;Carmack&#8217; you&#8217;re going to be writing the mundane stuff that they want you to do &#8211; not your own exciting ideas.</p>
<p>There are companies that are based around and heavily involved in free software.  Names include companies such as Red Hat, Mozilla, IBM, Canonical, Google, Novell etc and the one thing about these companies is that they are not in the software sales business.  Red Hat is in providing support and SLA&#8217;s for businesses and servers. IBM is similar to Red Hat &#8211; they sell &#8216;solutions&#8217;.  Mozilla makes money from advertising for Google, Canonical is a billionaire&#8217;s plaything, Google sells advertising and Novell is just a slightly more pragmatic Red Hat.  You&#8217;ll never see a company such as Adobe adopt a FOSS business model as they are in the business of selling software.  I don&#8217;t imagine anyone can make the argument that Adobe can go FOSS and remain profitable with a straight face.</p>
<p>It&#8217;s the following realisation that made me realise what a disaster FOSS really is.  Free Software only benefits large companies and the rich.  It is almost impossible to be a developer and <em>not</em> work for &#8216;the man&#8217; under the GPL.  Sure there are exceptions to every rule but the simple fact is you can&#8217;t be a developer unless you can get an alternate revenue stream.  Support is good, but not a lot of apps will require support and you don&#8217;t spend months programming to be forced to make money manning a phone line.  There are also the dual license options, but this is effectively shareware, and you are still making money selling closed source software.</p>
<p>If adhering to the GPL was a legal requirement then it&#8217;s not like software would all suddenly be free and open.  What would actually happen is that people would simply stop making software.  All the games available on Steam would not suddenly be free &#8211; they simply wouldn&#8217;t have been made in the first place.  I pay money for SmartFTP because it is the best FTP program I have ever used.  By paying money I help fund further development.  I am happy with this.</p>
<p>It&#8217;s not even like the mass piracy and commoditization of  music, as it&#8217;s not like developers can make money selling tickets at £50 a go to live shows.  The software itself is all you&#8217;ve got.</p>
<p>Now I simply don&#8217;t see how anyone who thinks pragmatically about a future in which the GPL is accepted as the way to distribute software can possibly support it as in reality the people it hurts the most are the very people that support it &#8211; individual developers.</p>
<p><em>* True story, I do.  I am working on it and plan to launch it in a few months.</em></p>
<p><strong>Some Further Thoughts and Ugly Truths:<br />
</strong></p>
<p>The most overlooked point with regards to software development is that it is generally the result of a few people sinking a large amount of time into it, not as a result of a lot of people doing a small bit.  You simply can&#8217;t throw developers at a project and expect it to flourish &#8211; it just doesn&#8217;t work.  If you want something well written and cohesive it&#8217;ll take a small, dedicated, team &#8211; not a large bunch of semi-skilled volunteers &#8211; not something that really happens in FOSS unless you are being funded by a rich 3rd party.</p>
<p>Capitalism, in a nutshell, is providing people what they want.  If you don&#8217;t provide it you don&#8217;t succeed.  If enough people don&#8217;t want it the provider can either improve and adapt, or die.  In the FOSS world you take what you&#8217;re given and have no right to complain.  Gimp is near useless and doesn&#8217;t even match the decade old Photoshop 5.0 yet people not using it will not spur on development.  There is simply no motivation to cater for a wide audience &#8211; if Gimp was a commercial product the company would have been bankrupt years ago but catering for your users needs is simply not important in the world of free software.  Free software is about developers scratching their own itch, not finding out what itch other people want scratched.</p>
<p>The bulk of FOSS development work is done by one of these people:</p>
<ul>
<li>Students, getting paid to learn.</li>
<li>Unemployed, getting paid by the state.</li>
<li>The Rich, resting on their laurels.</li>
<li>Large companies, adding value to their other services.</li>
</ul>
<p>Free software is categorically not made by these people:</p>
<ul>
<li>Software companies.</li>
</ul>
<p>If it is name one.</p>
<p>Software development is <em>hard</em>.  It&#8217;s incredibly time consuming.  If most people truly appreciated the difficulty and time required to create a truly great piece of software I doubt they would have bothered.  It requires people with a true passion for development to make truly great software, and I personally find the fact that such people would be relegated to only doing what they love in their spare time, rather than as an actual job, disgusting.</p>
<p>And finally it is the software that is free, not you.  All this talk of &#8216;freedoms&#8217; and &#8216;rights&#8217; is utter crap &#8211; it&#8217;s not <em>your </em>freedom or <em>your </em>rights so the whole idea that commercial software is taking them is simply untrue.  If a developer wants to release something under a Libre license that is fine &#8211; but it should never be considered &#8216;ethical&#8217; or expected for this to be the case and if you really want to make a case for your own &#8216;freedoms&#8217; then the BSD license is far more appropriate candidate.</p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/09/21/what-if-they-had-a-revolution/feed/</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>Free Software is *not* the same as Open Source</title>
		<link>http://piestar.net/2009/09/13/free-software-is-not-the-same-as-open-source/</link>
		<comments>http://piestar.net/2009/09/13/free-software-is-not-the-same-as-open-source/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 16:19:58 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=234</guid>
		<description><![CDATA[Free Software is *not* the same as Open Source. Open Source is simply providing software with the source code so the receiving user can modify it to suit their needs. Free Software is having the ability to freely modify and (this is the key) distribute software they have received from a 3rd party. Free Software [...]]]></description>
			<content:encoded><![CDATA[<p>Free Software is *not* the same as Open Source.</p>
<p>Open Source is simply providing software with the source code so the receiving user can modify it to suit their needs.</p>
<p>Free Software is having the ability to freely modify and (this is the key) distribute software they have received from a 3rd party.</p>
<p>Free Software is being *unable* to restrict what a 3rd party does with your software.</p>
<p>You can very easily have non-free Open Source.  In fact a large amount of software made, mainly custom stuff and most of what I do, is technically &#8216;Open Source&#8217; &#8211; that is I am paid to to do it, and I give the client the source along with any binaries.  It is *not* Free Software though, as the client is unlikely to give it away.</p>
<p>For example a large amount of commercial web apps are Open Source in that you have access to the source code, but are not Free Software as you do not have the right to redistribute the source freely.</p>
<p>This is the main bone of contention between the Commercial and Free Software camps &#8211; it has nothing to do with source &#8211; which is a red herring &#8211; it has to do with control.  The main point of free software is to remove any and all control from the original developers and give it to the users &#8211; the software is owned by the community.  Supporters of the commercial model (obviously) have a problem with this as it makes making a business out of developing software impossible &#8211; If you sell support you are in the business of support, not software.  Free Software is fundamentally anti developer.</p>
<p>Personally I support Open Source, and plan on releasing my next project as a dual licensed Free Non-Commercial and pay for Commercial offerings.  You can use it for free and give it away if you do not use it commercially, and if you want to use it commercially you will be required to pay a license fee.  Which is perfectly reasonable but it is not &#8216;Free Software&#8217; and would not be supported by the FSF.</p>
<p>Free Software is an ethical line for it&#8217;s supporters.  Non-free (as the example above) is considered immoral by supporters and according to the FSF I am unethical in my request for compensation for commercial usage.  According to the FSF doctrine I must relinquish all ownership over the code and give any user full source and distribution rights.  If I want to make money I should sell &#8216;support&#8217;.</p>
<p>The thing is if (and many people suggest this) I was legally forced to make it &#8216;Free&#8217; I would not even bother to make it in the first place.  In that world the job of &#8216;developer&#8217; either would not exist, or would be relegated to a role in a huge corporation where you are told what to work on.  The small, independent software companies would be dead &#8211; and the software that they would have produced would not now be free, it just wouldn&#8217;t exist in the first place.  So instead of having the choice to pay money for something or not have it, you&#8217;d simply not be able to have it at all.  Not a situation I can support.</p>
<p>I think if people stopped thinking Free Software and Open Source are interchangeable terms, and that if more people found out what Free Software really is, and the implications, significantly less people would support it.</p>
<p><em>Update: I do not think that Free Software is bad, should be banned, or anything like that.  I believe it is up to the developer to choose how to distribute their software and that there is nothing wrong with closed source, commercial software.  It is up to the developer to choose the license, and the user to choose the software.  It&#8217;s all about choice.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/09/13/free-software-is-not-the-same-as-open-source/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>This is why Linux sucks (a challenge)</title>
		<link>http://piestar.net/2009/08/11/this-is-why-linux-sucks-a-challenge/</link>
		<comments>http://piestar.net/2009/08/11/this-is-why-linux-sucks-a-challenge/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 22:19:30 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[I know 'Linux' is a kernel.  Shush.]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=167</guid>
		<description><![CDATA[So Thomas B failed, Lunduke failed (and has apparently taken his ball and gone home), so I am throwing this wide open to all you Linux fans out there.  Here it is: Find me three examples of constructive criticism of Linux on a public, semi mainstream Linux forum that&#8230; Isn’t a flamewar That the answers [...]]]></description>
			<content:encoded><![CDATA[<p>So Thomas B failed, Lunduke failed (and has apparently taken his ball and gone home), so I am throwing this wide open to all you Linux fans out there.  Here it is:</p>
<p>Find me three examples of constructive criticism of Linux on a public, semi mainstream Linux forum that&#8230;</p>
<ol>
<li>Isn’t a flamewar</li>
<li>That the answers are not all largely YouDontNeedThat ™ and</li>
<li>The developers of the software actually read.</li>
</ol>
<p>Linux sucks.  All your showcase apps such &#8211; Gimp, Cinerella, OpenOffice, etc suck, Your WM&#8217;s are bad copies of the commerical offerings, your API&#8217;s and interfaces are so slow and convoluted it&#8217;s quicker to run Firefox under Wine that it is natively and apart from everything crashing a bit less and hibernate/sleep allegedly working on some peoples computers nothing has changed in over a decade.</p>
<p>Linux has &lt; 1% of the marketshare and is dropping.  In fact it&#8217;s marketshare is within the statistical margin of error &#8211; the reason companies don&#8217;t rush to support you is because it&#8217;s simply not economical &#8211; not some large conspiracy.  Why is this &#8211; it&#8217;s certainly not because of the popularly claimed reason &#8216;poor marketing&#8217;, as its pretty much impossible to go anywhere on the net without meeting evangelical freetards.  Yet people, despite knowing about it &#8211; and even trying it! &#8211; are failing to use it in droves.</p>
<p>It simply isn&#8217;t good enough, and has too many problems.  I, as a professional software developer, don&#8217;t use it.  And the big problem, the #1 reason Linux sucks is this:</p>
<p>You don&#8217;t want to know why I don&#8217;t use it.</p>
<p>I could spend hours going into the specific reasons that it doesn&#8217;t fill my needs, problems I have, even giving examples and ideas on how to improve things, better approaches etc.  But it would be pointless &#8211; I&#8217;d just be called a MS shill.</p>
<p>My first <em>real</em> foray into Linux was when I was running an Internet Cafe, and had heard so much about how fantastic it was, years ahead, stable, etc &#8211; you all know the talking points.  This was around 2006 iirc.  So I set up a test box to see how it fared.  Not very well was the answer &#8211; not only did I hate it, my customers did too.  So since I&#8217;d heard so much about community contributions I wrote up a long article on what I felt the limiting factors for both me and my customers were.  I was willing to even learn C at that point and help contribute.</p>
<p>And rather than do what a professional software development team would do and take these suggestions on board &#8211; which included classics such as &#8216;What about a bootsplash, verbose mode is scaring the customers&#8217;, I had idiot newbies such as the aforementioned Thomas B &#8216;debunking&#8217; me.  I was called an idiot for wanting double clickable .deb files (don&#8217;t you know apt-get install is <em>easier</em>?).</p>
<p>Linux zealots are on an ideological crusade, and the few that aren&#8217;t idiots spend little to no effort reining in the freetards &#8211; and it is impossible to argue with idiots, as they drag you down to their level then beat you with experience.  Since they are promoting the concept of free software they don&#8217;t really care if it&#8217;s better or not &#8211; quality is judged by the release license, not the code.  As a result criticism of Linux is seen as criticism of the Ideology &#8211; and attacked.  It&#8217;d be like advocating grilled steaks on a vegan forum, which is fine &#8211; I am vegetarian myself &#8211; but they seem to think that everyone else should care about their bizarre concept of &#8216;software ethics&#8217; as much as them, when most people don&#8217;t care &#8211; they just want the tastiest food, and the best OS.</p>
<p>So the situation is this:</p>
<p>You&#8217;ve got distro&#8217;s that release the software, and due to package management, are the intermediary between the users and the developers.  Since the distro&#8217;s largely just package up and send on other peoples work they generally don&#8217;t even have any form of feedback method outside bugzilla.  Add to this the fact that the community is actively hostile to anyone who happens to disagree with them and you have a real recipe for stagnation.</p>
<p>The reason Linux sucks is because the developers are shielded from any criticism by the fan(boys|base) and by the time that they do hear from someone they regularly have become so pissed off and disappointed with the whole experience that they just declare &#8216;it sucks&#8217; and are rarely constructive.  Personally I am in that state half the time.</p>
<p>The other problem with the community is that they are largely all of the same opinion (Linux rocks, Micro$oft sucks, viva la Stallman!) not because they are right, but because everyone that disagrees with them has left.  It&#8217;s a monoculture which simply isn&#8217;t healthy as nobody is willing to accept having their ideas challenged.</p>
<p>After all how on earth can you ever expect to improve anything if you kick out all the people who think it can be improved?</p>
<p>If I am wrong, then surely the above challenge should be a piece of cake, five minutes, just pop over to any large distro&#8217;s forum.  So go ahead, what are you waiting for, prove me wrong!</p>
<p><strong>Addendum:</strong></p>
<p>I was just having a look through Wikipedia and found this really interesting article on <a href="http://en.wikipedia.org/wiki/Groupthink" target="_blank">Groupthink</a>.  Especially this bit:</p>
<p><span style="color: #800000;">To make groupthink testable, Irving Janis devised eight symptoms indicative of groupthink (1977).</span></p>
<ol>
<li><span style="color: #800000;"><em>Illusions of invulnerability</em> creating excessive optimism and encouraging risk taking.</span></li>
<li><span style="color: #800000;"><em>Rationalising warnings</em> that might challenge the group&#8217;s assumptions.</span></li>
<li><span style="color: #800000;"><em>Unquestioned belief</em> in the morality of the group, causing members to ignore the consequences of their actions.</span></li>
<li><span style="color: #800000;"><em>Stereotyping</em> those who are opposed to the group as weak, evil, biased, spiteful, disfigured, impotent, or stupid.</span></li>
<li><span style="color: #800000;"><em>Direct pressure</em> to conform placed on any member who questions the group, couched in terms of &#8220;disloyalty&#8221;.</span></li>
<li><span style="color: #800000;"><em>Self censorship</em> of ideas that deviate from the apparent group consensus.</span></li>
<li><span style="color: #800000;"><em>Illusions of unanimity</em> among group members, silence is viewed as agreement.</span></li>
<li><span style="color: #800000;"><em>Mindguards</em> — self-appointed members who shield the group from dissenting information.</span></li>
</ol>
<p><span style="color: #800000;">Groupthink, resulting from the symptoms listed above, results in defective decision making. That is, consensus-driven decisions are the result of the following practices of groupthinking<sup id="cite_ref-Kamau_4-0"><a href="http://en.wikipedia.org/wiki/Groupthink#cite_note-Kamau-4">[5]</a></sup></span></p>
<ol>
<li><span style="color: #800000;">Incomplete survey of alternatives</span></li>
<li><span style="color: #800000;">Incomplete survey of objectives</span></li>
<li><span style="color: #800000;">Failure to examine risks of preferred choice</span></li>
<li><span style="color: #800000;">Failure to reevaluate previously rejected alternatives</span></li>
<li><span style="color: #800000;">Poor information search</span></li>
<li><span style="color: #800000;">Selection bias in collecting information</span></li>
<li><span style="color: #800000;">Failure to work out contingency plans.</span></li>
</ol>
<p><span style="color: #000000;">Sounds like the Linux community to a tee, doesn&#8217;t it?</span></p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/08/11/this-is-why-linux-sucks-a-challenge/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Free as in beer?  Nobody gives me any free beer! &#8211; Part 2</title>
		<link>http://piestar.net/2009/08/11/free-as-in-beer-nobody-gives-me-any-free-beer-part-2/</link>
		<comments>http://piestar.net/2009/08/11/free-as-in-beer-nobody-gives-me-any-free-beer-part-2/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 09:10:59 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[I know 'Linux' is a kernel.  Shush.]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=148</guid>
		<description><![CDATA[A bit late to the game with this one, but I have been meaning to write about this for a while now.  You may already know about it &#8211; the whole XPilot iPhone debacle.  If you&#8217;re not aware (and can&#8217;t be bothered reading the slashdot thread) some programmers, who were fans of the game XPilot [...]]]></description>
			<content:encoded><![CDATA[<p>A bit late to the game with this one, but I have been meaning to write about this for a while now.  You may already know about it &#8211; the whole XPilot iPhone debacle.  If you&#8217;re not aware (and can&#8217;t be bothered reading the <a href="http://ask.slashdot.org/story/09/08/01/169247/The-Ethics-of-Selling-GPLed-Software-For-the-iPhone">slashdot thread</a>) some programmers, who were fans of the game XPilot back in the day, decided to release a version for the iPhone.  Now the game was GPL&#8217;d by the original creators, but when they found out they gave this great quote:</p>
<blockquote><p><em> After it hit the App store, one of the original developers of <em>XPilot</em> told us he feels adamantly that we&#8217;re betraying the spirit of the GPL by charging for it.&#8221;</em></p></blockquote>
<p>Firstly, it&#8217;s very hard to &#8216;betray the spirit&#8217; of a license.  That&#8217;s why you have a license in the first place.  If it&#8217;s written by anyone even half competent they will check for loopholes and problems.  Hence the GPLv3 in response to TiVo.</p>
<p>What actually happened though is the original developers GPL&#8217;d it after listening to the hippy &#8216;power of the community&#8217; love fest with no real understanding of the implications.  Which is this:</p>
<p>It gives freedom to the software, <em>not</em> the developer.  It is the <em>software</em> that is free.  You develop software, fine.  Release it under the GPL, fine.  But you no longer own it.  You have no more rights than anyone else to it.  By releasing under the GPL you explicitly relinquish all of your control over it.  You have freed it like you would free a bird from a cage &#8211; it is yours no longer.</p>
<p>It is amazing how so many people fail to understand this.  The whole &#8216;you can sell it&#8217; thing is a red herring as piracy is legally enshrined in the license &#8211; everyone else can sell it too as proven by this.  There is nothing stopping me recompiling it and putting it on the app store for $0.50, or even for free.</p>
<p>What the XPilot creators actually wanted was one of the Creative Commons licenses (maybe <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">NC-3</a>) as that would appear to be what they think the &#8216;spirit&#8217; of the GPL is.</p>
<p>The amusing thing in all of this is not only do normal users not bother to read their license agreements (EULA), but apparently neither do the developers of the software either.</p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/08/11/free-as-in-beer-nobody-gives-me-any-free-beer-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free as in beer?  Nobody gives me any free beer!</title>
		<link>http://piestar.net/2009/07/17/free-as-in-beer-nobody-gives-me-any-free-beer/</link>
		<comments>http://piestar.net/2009/07/17/free-as-in-beer-nobody-gives-me-any-free-beer/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:08:04 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[I know 'Linux' is a kernel.  Shush.]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=129</guid>
		<description><![CDATA[Clarification:  This is only really aimed at the sort of people who say that the future is in FOSS and all software should (and will) be free.  The Stallmanites, if you will. You hear it all the time &#8220;Free as in beer&#8221; and &#8220;Free as in freedom&#8221; used to describe FOSS.  But this question seems [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Clarification:  This is only really aimed at the sort of people who say that the future is in FOSS and all software should (and will) be free.  The Stallmanites, if you will.</strong></p>
<p>You hear it all the time &#8220;Free as in beer&#8221; and &#8220;Free as in freedom&#8221; used to describe FOSS.  But this question seems to be missed:</p>
<p>&#8220;Where can I get free beer?&#8221;</p>
<p>No pub will just give it to me, if someone buys me one I am expected to buy them one back at some point.  I could brew my own but I still need to buy all the equipment and spend a lot of time and money.  Guess what?</p>
<p>&#8220;There is no such thing as free beer!&#8221;</p>
<p>I get the whole &#8220;Free as in freedom&#8221; thing, I really do.  In an age of excessive DRM and activation the ability to have access to the source is incredibly useful.  As a developer dealing with PHP on a regular basis I am often stumped by &#8216;compiled&#8217; PHP which makes a problem a customer is having impossible to fix as the original developers do not give their customers permission to fix their own problems.</p>
<p>It&#8217;s this whole &#8220;Free as in beer&#8221; craze that makes utterly no sense.  Name me any other discipline where you expect to get anything for free.  Architects will not design you a free house, Lawyers will not defend you for free (unless it is in their best interests), People will not wash your car, house, clothes or computer for free.  And pretty much nobody will fix your computer for free.  Yet is expected and even considered <em>immoral</em> to charge money for software!*</p>
<p>Developing software is <em>hard</em>.  It takes a ridiculous amount of time and effort &#8211; I should know, I do it full time.  Yet Under the FOSS regime I am expected to work for months on producing something then not only provide the source with the product (which I can accept and often do), but to also give away every single one of my rights as its creator, giving me no more ownership or rights over it than any random yahoo off of the street?</p>
<p>And the FOSS solution to this?  Sell &#8216;support&#8217;.  What?  So as the softwares creator, to recoup the months of investment I need to provide bottom rung email and phone support which I <em>wouldn&#8217;t even do if I was paid</em>.  I would rather be unemployed than tech support, yet in the FOSS world that is my <em>only option</em> to even consider recouping my investment if I decided to have a career in software development.</p>
<p>&#8220;But big companies support FOSS&#8221;</p>
<p><em>Fantastic!</em> Instead of working on what I want to work on, and creating innovative software that I think will fill a niche which I will then sell to make money to fund further development, I should instead go to work for IBM who will tell me what to write if they even hire me at all?  That doesn&#8217;t sound like any freedom I have ever heard of &#8211; it sounds like being a wage slave to enrich a large corporation.  &#8220;Free as in freedom to work for IBM&#8221;, but not &#8220;Free as in freedom to write your own software&#8221;.</p>
<p>&#8220;But Linux Torvalds wasn&#8217;t supported by IBM&#8221;</p>
<p>There are two types of FOSS projects:</p>
<ol>
<li>Spoilers:<br />
Commercial software companies that realise their pay-for software is largely no longer saleable &#8211; Mozilla, Sun, OpenOffice etc.  It&#8217;s normal, conventional, closed source software that was &#8216;opened&#8217; in response to the market.  You can&#8217;t sell browsers anymore (see Opera) so you need to either give up, or find alternate revenue.  Firefox makes its money from Google, OpenOffice is crap compared to MS Office and is given away in an attempt to provide value to the systems it&#8217;s given away on &#8211; and also as a &#8216;fuck you&#8217; to Microsoft.</li>
<li>Students:<br />
The bulk of the non-commercially contributed FOSS code is made by students.  That is people that are being funded externally to learn about computers and use their knowledge, resources and free time to create &#8216;free&#8217; software.  Obviously they largely don&#8217;t want to sell it as then they will have to deal with large amounts of problems (including actually finishing it) and it&#8217;s <em>fun</em> to create it, not a <em>job. </em>By giving it away free rather than charging they are not beholden to their customers for quality or bugs.  &#8220;Fix it yourself&#8221; is the mantra of the student developers.<em><br />
</em></li>
</ol>
<p>There is one, very notable, absence from this list:</p>
<ul>
<li>Conventional, small, development shops working on producing free software full time &#8211; that is the non-corporate, individual development house.  They are the one business that simply cannot survive under the FOSS model, which is ironic as it&#8217;s probably the best situation to be in as a programmer.</li>
</ul>
<p>Lets face it here, you can&#8217;t make money writing FOSS software.  You can use it to assist in an aspect of your multi-faceted business as, in theory, community contributions will improve your software for free &#8211; If I run a business selling special widgets and make a FOSS special widget tracker, then other people selling these special widgets would improve the software if they used it also so I (and my business) would benefit from it.</p>
<p>What FOSS does <em>not</em> allow is for someone to say &#8220;Aha!  There is a market for software for companies selling special widgets, I&#8217;ll make some.&#8221; &#8211; your going to be able to sell a few at best before someone takes your code, rebrands it and gives it away.  You essentially have to compete with yourself.</p>
<p>This is the point where some FOSS advocates offer up other ways of monetizing my Special Widgets software &#8211; Selling support (bleh), customizing for individual businesses, support contracts (bleh).  But what they are asking for is for me to dump a business model that has worked for thousands of years &#8211; you give me something, I give you something in return &#8211; and instead adopt an entirely unproven method of &#8220;you give me <em>nothing</em>, I give you something in return and then try to figure out how to make money at a later date.&#8221;</p>
<p>Why should I have to dump a perfectly functional business model to adopt something incredibly uncertain and very likely to make me bankrupt simply because some idiots on a crusade say I should?</p>
<p>Whats really needed is the ability to decouple this moronic notion of &#8216;Free as in beer&#8217; from &#8216;Free as in freedom&#8217;, as unless <em>everyone</em>, including butchers, bakers and candlestick makers also give everything away for free** then it&#8217;s just not going to work.</p>
<p><em>* Yes, I know you can sell software for money according to the GPL.  What everyone loves to gloss over is the fact that anyone you sell it to can just give it away for free &#8211; so you will very soon be competing against your own product, but free.  The GPL is fundamentally incompatible with conventional for-profit software sales.  There are some choice early RMS quotes where he basically says this &#8211; the only reason for-profit sales are allowed is that they are unworkable.</em></p>
<p><em>** Yes, it&#8217;s been tried, no, it hasn&#8217;t ever worked and yes, it&#8217;s called &#8216;communism&#8217;.<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/07/17/free-as-in-beer-nobody-gives-me-any-free-beer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Linux isn&#8217;t Windows (you don&#8217;t say)</title>
		<link>http://piestar.net/2009/06/26/linux-isnt-windows-you-dont-say/</link>
		<comments>http://piestar.net/2009/06/26/linux-isnt-windows-you-dont-say/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:32:08 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[I know 'Linux' is a kernel.  Shush.]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=110</guid>
		<description><![CDATA[I am quite sure that everyone who has even thought about Linux has been directed to the in(famous) article &#8216;Linux Isn&#8217;t Windows&#8217;.  It&#8217;s the epitome of the classic FOSS response to criticism &#8211; It&#8217;s not Linux that has the problem, it&#8217;s you. Fortunately, although voluminous, there is very little actually said.  So I&#8217;d like to [...]]]></description>
			<content:encoded><![CDATA[<p>I am quite sure that everyone who has even thought about Linux has been directed to the in(famous) article <a href="http://linux.oneandoneis2.org/LNW.htm" target="_blank">&#8216;Linux Isn&#8217;t Windows&#8217;</a>.  It&#8217;s the epitome of the classic FOSS response to criticism &#8211; It&#8217;s not Linux that has the problem, it&#8217;s <em>you</em>.</p>
<p>Fortunately, although voluminous, there is very little actually said.  So I&#8217;d like to summarise why he&#8217;s wrong in three statements.</p>
<ol>
<li>A logical fallacy will not suddenly become truth if you provide two pages of analogies.</li>
<li>An outright wrong statement will not turn correct if you provide two pages of examples.</li>
<li>Those that shout the loudest have the most to hide.</li>
</ol>
<p>And onwards&#8230;</p>
<p><strong>3: Those that shout the loudest have the most to hide. (<strong>Start at the end)</strong></strong></p>
<p>So lets deal with 3. first.  This is hilarious, and cements my argument for the rest of this post.  Check it out:</p>
<ol>
<li>Go to the aforementioned article</li>
<li>Click view-&gt;page source</li>
<li>Read and chuckle</li>
</ol>
<p>Firstly, the whole page is generated &#8211; whoever made it knows zero about HTML and web development though &#8211; that much is clear, as proven by such gems as:</p>
<pre id="line277" style="padding-left: 30px;">&lt;<span>b</span>&gt;&lt;<span>span</span><span> style</span>=<span>""</span>&gt;&lt;/<span>span</span>&gt;&lt;/<span>b</span>&gt;&lt;<span>span</span><span> style</span>=<span>""</span>&gt;&lt;/<span>span</span>&gt;</pre>
<p>Bold, styled nothing. Which is the obvious result of a confused WYSIWYG editor.  And not even a good one.  Obviously the guy doesn&#8217;t know any HTML, which is fine.</p>
<p>But that&#8217;s not all, dig a bit further and you&#8217;ll find:</p>
<pre id="line277" style="padding-left: 30px;"><span>class</span>=<span>"MsoNormal"</span></pre>
<p>Liberally sprinkled all over the place.  A bit of digging reveals the class MsoNormal to belong to Microsoft Office.  That&#8217;s right, there is a <em>very </em>good chance this whole thing was made with Microsoft <em>Word</em>.  Despite the fact that only an idiot would use Word to make a webpage.  Isn&#8217;t that just <em>hilarious</em>?</p>
<p>This of course is the crux of the issue.  He has proven that people use technology, especially computers, to achieve goals while having to learn as little as possible.  Any idiot can make a webpage in Word or any other WYSIWYG app.  Want bold &#8211; just click the bold button, insert an image?  No problem!  The fact that the code puts in &lt;span style=&#8221;font-style: italic;&#8221;&gt; instead of &lt;em&gt; matters not &#8211; after all the writer only wants to be a living demonstration of irony, rather than having to spend a significant amount of time learning HTML and doing it the proper way.</p>
<p><strong>1: A logical fallacy will not suddenly become truth if you provide two pages of analogies.</strong></p>
<p>Lying with analogies is fun.  It goes like this:</p>
<ol>
<li> Make a statement comparing two things</li>
<li>Create a (tenuous) analogy to a real-world situation</li>
<li>Prove that your &#8216;side&#8217; is superior in the analogy, so must be in real life.</li>
</ol>
<p>Check this shit out, here&#8217;s his first &#8216;Why Linux rocks&#8217; analogy</p>
<p>OS&#8217;s are like cars (it&#8217;s traditional)</p>
<ol>
<li>Windows is like a normal car</li>
<li>Linux is like a motorbike</li>
<li>Windows has doors (as it&#8217;s a car)</li>
<li>Linux has no doors (as it&#8217;s not a car)</li>
<li>Windows is more likely to get broken into (viruses)</li>
<li>Linux is safe as it has no doors!</li>
</ol>
<p>Makes perfect sense!  And there was me thinking that this was a complicated issue with nuance and subtlety. And it continues on, and on, and on.  Again the main substance of his argument: Any problem you have is with <em>you</em> not Linux.  If you have a problem it&#8217;s because it&#8217;s not Windows.</p>
<p><strong>2: An outright wrong statement will not turn correct if you provide two pages of examples.</strong></p>
<p>Let&#8217;s look at his views on Usability:</p>
<blockquote><p>So it is that in most &#8220;user-friendly&#8221; text editors &amp; word processors, you Cut and Paste by using Ctrl-X and Ctrl-V. Totally unintuitive, but everybody&#8217;s used to these combinations, so they count as a &#8220;friendly&#8221; combination.</p>
<p>So when somebody comes to vi and finds that it&#8217;s &#8220;d&#8221; to cut, and &#8220;p&#8221; to paste, it&#8217;s not considered friendly: It&#8217;s not what anybody is used to.</p>
<p>Is it superior? Well, actually, yes.</p>
<p>With the Ctrl-X approach, how do you cut a word from the document you&#8217;re currently in? (No using the mouse!)<br />
From the start of the word, Ctrl-Shift-Right to select the word.<br />
Then Ctrl-X to cut it.</p>
<p>The vi approach? dw deletes the word.</p>
<p>How about cutting five words with a Ctrl-X application?<br />
From the start of the words, Ctrl-Shift-Right<br />
Ctrl-Shift-Right<br />
Ctrl-Shift-Right<br />
Ctrl-Shift-Right<br />
Ctrl-Shift-Right<br />
Ctrl-X</p>
<p>And with vi?</p>
<p>d5w</p>
<p>The vi approach is far more versatile and actually more intuitive: &#8220;X&#8221; and &#8220;V&#8221; are not obvious or memorable &#8220;Cut&#8221; and &#8220;Paste&#8221; commands, whereas &#8220;dw&#8221; to delete a word, and &#8220;p&#8221; to put it back is perfectly straightforward. But &#8220;X&#8221; and &#8220;V&#8221; are what we all know, so whilst vi is clearly superior, it&#8217;s unfamiliar. Ergo, it is considered unfriendly. On no other basis, pure familiarity makes a Windows-like interface seem friendly. And as we learned in problem #1, Linux is necessarily different to Windows. Inescapably, Linux always appears less &#8220;user-friendly&#8221; than Windows.</p>
<p>To avoid #5a problems, all you can really do is try and remember that &#8220;user-friendly&#8221; doesn&#8217;t mean &#8220;What I&#8217;m used to&#8221;: Try doing things your usual way, and if it doesn&#8217;t work, try and work out what a total novice would do.</p></blockquote>
<p>Well we know what a total novice would do, the writer of this article demonstrated it fine.  He&#8217;d use Ctrl-X and Ctrl-V to create a website using MS Word.</p>
<p>d5w, intuitive, <em>really</em>?  The only way you would <strong>ever</strong> know that is if you read the whole vi manual cover-to-cover multiple times.  It&#8217;s simply not guessable which is the very <em>point</em> of the word intuitive.  Edit-&gt;Cut is intuitive.  Ctrl-X is then intuitive as it <em>told you the shortcut</em> when you did it the long way.  It requires no prior knowledge.  That is intuitive.</p>
<p>The thing is most users don&#8217;t know about Ctrl-X and Ctrl-V, they don&#8217;t realise that Ctrl-Shift selects words.  Fundamentally 99% of computer users, when using Word, have read no manuals, have asked no questions and have no documentation.  I&#8217;ve seen people using Word who don&#8217;t even know about word wrap and press &#8216;Enter&#8217; at the end of each line as you would in a manual typewriter.  Yet in the article writers mind somehow vi would be just as easy for them if they sat down in front of it rather than Word?!?  Of course, again, his argument is impenetrable &#8211; It&#8217;s not Windows.</p>
<p>But the insanity (and inanity) doesn&#8217;t stop there:</p>
<blockquote><p><strong>Subproblem #5b: Inefficient is friendly</strong></p>
<p>This is a sad but inescapable fact. Paradoxically, the harder you make it to access an application&#8217;s functionality, the friendlier it can seem to be.</p>
<p>This is because friendliness is added to an interface by using simple, visible &#8216;clues&#8217; &#8211; the more, the better. After all, if a complete novice to computers is put in front of a WYSIWYG word processor and asked to make a bit of text bold, which is more likely:</p>
<p>* He&#8217;ll guess that &#8220;Ctrl-B&#8221; is the usual standard</p>
<p>* He&#8217;ll look for clues, and try clicking on the &#8220;Edit&#8221; menu. Unsuccessful, he&#8217;ll try the next likely one along the row of menus: &#8220;Format&#8221;. The new menu has a &#8220;Font&#8221; option, which seems promising. And Hey! There&#8217;s our &#8220;Bold&#8221; option. Success!</p>
<p>Next time you do any processing, try doing every job via the menus: No shortcut keys, and no toolbar icons. Menus all the way. You&#8217;ll find you slow to a crawl, as every task suddenly demands a multitude of keystrokes/mouseclicks.<br />
Making software &#8220;user-friendly&#8221; in this fashion is like putting training wheels on a bicycle: It lets you get up &amp; running immediately, without any skill or experience needed. It&#8217;s perfect for a beginner. But nobody out there thinks that all bicycles should be sold with training wheels: If you were given such a bicycle today, I&#8217;ll wager the first thing you&#8217;d do is remove them for being unnecessary encumbrances: Once you know how to ride a bike, training wheels are unnecessary.</p>
<p>And in the same way, a great deal of Linux software is designed without &#8220;training wheels&#8221; &#8211; it&#8217;s designed for users who already have some basic skills in place. After all, nobody&#8217;s a permanent novice: Ignorance is short-lived, and knowledge is forever. So the software is designed with the majority in mind.</p>
<p>This might seem an excuse: After all, MS Word has all the friendly menus, and it has toolbar buttons, and it has shortcut keys. . . Best of all worlds, surely? Friendly and efficient.</p>
<p>However, this has to be put into perspective: Firstly, the practicalities: having menus and toolbars and shortcuts and all would mean a lot of coding, and it&#8217;s not like Linux developers all get paid for their time. Secondly, it still doesn&#8217;t really take into account serious power-users: Very few professional wordsmiths use MS Word. Ever meet a coder who used MS Word? Compare that to how many use emacs &amp; vi.</p></blockquote>
<p>&#8220;Ever meet a coder who used MS Word?&#8221; &#8211; no, but I&#8217;ve read a few articles by one.</p>
<p>The mind boggles at the stupidity of this.  He is basically arguing for software to take away the shortcuts and basically massively increasing the barrier of entry.  I though one of the main aims of modern computing is to bring the benefits to the masses, after all you don&#8217;t need to be a mechanic to drive a car, a plumber to flush the toilet or an electrician to use a lightbulb.  Sure, he may think that forcing people to study for hours before being able to do the slightest thing is advantageous, but the fact that just about everyone (including him) would rather use software, rather than learn software, says it all.  If he actually believed what he said he would have learned HTML, rather than just used the &#8216;training wheels&#8217;.</p>
<p>PSA: If you use some arcane shortcut key or in-obvious key sequence it does not give you a better quality of bold than if you click on the bold button.  It&#8217;s just as bold, except it didn&#8217;t take 3 days to work out how to do it.</p>
<p>PSA2: The really, really stupid thing is learning how to use vi does <em>not</em> give you a better understanding of how a computer works &#8211; it just means you have wasted loads of time.  Does knowing d5w give you a fundamental insight into the machine?  Or is it just a relic of a time when text-only is all you had?</p>
<p>What is amazing though is that he appears to speak for Linux &#8211; (maybe he&#8217;s channelling the spirit of tux?) &#8211; and likes to say what Linux is, what it isn&#8217;t, and even says in his summary:</p>
<blockquote><p>It&#8217;s great, but it&#8217;s not the point. The point is to make Linux the best OS that the community is capable of making. Not for other people: For itself. The oh-so-common threats of &#8220;Linux will never take over the desktop unless it does such-and-such&#8221; are simply irrelevant: The Linux community isn&#8217;t trying to take over the desktop. They really don&#8217;t care if it gets good enough to make it onto your desktop, so long as it stays good enough to remain on theirs. The highly-vocal MS-haters, pro-Linux zealots, and money-making FOSS purveyors might be loud, but they&#8217;re still minorities.</p></blockquote>
<p>So he is speaking for the thousands of developers (I hope he consulted them first) and got the consensus that none of them want Linux to be a success, and don&#8217;t really care about the normal users, just about catering for the already computer literate elite.</p>
<p>I think he&#8217;s missed the point: Linux is <em>free</em>, in all senses, as people like him love to state at length.  So why does he have the right to say what it is, and isn&#8217;t, what it should be and shouldn&#8217;t be, who it&#8217;s for and who it&#8217;s not for?  What is to stop anyone (who has the time and money) to create a fork to do everything that he says it isn&#8217;t?</p>
<p>Linux isn&#8217;t anything, it&#8217;s just a collection of software packages that happen to be released under a permissive license &#8211; that is all.  They are created by exactly the same people that make commercial software, in exactly the same way.  Talk about &#8216;community built&#8217; all you want but there is no effective difference between a volunteer squad of 10 and a company hiring 10 people.  It&#8217;s just software &#8211; would Windows change fundamentally if MS just GPL&#8217;d the whole lot one day?</p>
<p>Linux, if this guy is their representative, is a collection of elitists who want people to think they are smarter than they really are by using complicated software (And acting like it&#8217;s easy) to try to impress.  That is if you really have to put a label on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/06/26/linux-isnt-windows-you-dont-say/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Jump in to my time machine&#8230;</title>
		<link>http://piestar.net/2009/06/16/jump-in-my-time-machine/</link>
		<comments>http://piestar.net/2009/06/16/jump-in-my-time-machine/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 00:32:03 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=94</guid>
		<description><![CDATA[&#8230;and come with me back to the summer of 2004.  It was a time of hope, a time of potential change.  Just like the 2008 American elections, or the election of New Labour after living under the Torys for so long, the future looked bright and full of promise. So what was this event you [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;and come with me back to the summer of 2004.  It was a time of hope, a time of potential change.  Just like the 2008 American elections, or the election of New Labour after living under the Torys for so long, the future looked bright and full of promise.</p>
<p>So what was this event you may ask?  In a nutshell, large portions of the Linux, and FOSS, community realised they had a usability problem and looked like they were starting to take it seriously.  It was largely triggered by this post, <a href="http://www.catb.org/~esr/writings/cups-horror.html">The Luxury of Ignorance</a> by Eric S Raymond (and <a href="http://www.catb.org/~esr/writings/luxury-part-deux.html">part 2</a>) and although he didn&#8217;t say anything that hundreds of people were not already saying, for such a heavyweight of the FOSS community to say such things was unheard of.  Everyone was pretty much forced to sit up and take notice.  For a while you could even suggest in public that Linux was seriously lacking in usability and only be flamed to a partial crisp.</p>
<p>Many Open Source Usability cottage projects sprang up, and several large projects announced that they were putting usability to the forefront &#8211; I distinctly remember a quote from Gnome stating they were putting usability at the centre of their effort.  It was meant to be a new dawn of user friendly FOSS.</p>
<p>That was five years ago.  So what went wrong?</p>
<p>The nail was, amusingly, hit pretty much on the head almost immediately by John Gruber with his article <a href="http://daringfireball.net/2004/04/spray_on_usability">Ronco Spray-on Usability</a> in which he makes my first point, and to quote:</p>
<blockquote><p>UI development <em>is</em> the hard part. And it’s not the last step, it’s the first step. In my estimation, the difference between:</p>
<ul>
<li>software that performs function X; and</li>
<li>software that performs function X, with an intuitive well-designed user interface</li>
</ul>
<p>isn’t just a little bit of extra work. It’s not even twice the work. It’s an entire <em>order of magnitude</em> more work. Developing software with a good UI requires both aptitude and a lot of hard work.</p></blockquote>
<p>Which is exactly true.  You cannot code leaky crap in C and expect to easily fix it later, you cannot easily retrofit security as an afterthought (ask Microsoft about that one), so why the belief that usability is just a theme-pack away?</p>
<p>Anyway, there&#8217;s been a five year wait, which is a literal ice-age in terms of computing &#8211; why the lack of progress?  There is a simple answer:</p>
<p>Programmers for FOSS projects are largely not interested in usability.</p>
<p>The simply proof for this is that if they were, it wouldn&#8217;t be a problem.  The majority of good programmers I know are not programmers because they picked it in university because they thought it would make them money, but were in fact <em>born</em> programmers.  It&#8217;s almost a calling &#8211; and I know this because I started when I was 8.</p>
<p>However the sheer fact that a &#8216;call to arms&#8217; is even necessary demonstrates how little interest their really is.  Which brings me to my second point on why so little has been achieved:</p>
<p><em>All the effort on fixing usability has been aimed at making the FOSS developers better at usability rather than trying to involve the people who actually know about it.</em></p>
<p>The unfortunate ethos of the FOSS movement appears to be &#8216;The Programmer is King&#8217;.  Unless you are personally willing to fork the project and code it youself, the chances of having any input on anything, irrespective of ability, is pretty much zero.  Even the attempts at engaging non-developers suffer the same fate</p>
<p><strong>Adventures in Failure</strong></p>
<p>Every now and then I forget this key point (do it yourself or GTFO) and stupidly try to &#8216;contribute&#8217;, the last time being a couple of years ago on the run up to the Hardy launch (moving forward in time a few years).  Again it was another time of optimism and there was a call for non-developers (the ridiculous thing about all this is I <em>am</em> a developer.  Full time.  Paid) to help contribute to the Ubuntu art team.  Now I am not amazing at graphic design, but passable, and have spent quite a few years doing it as I realised I had an interest.</p>
<p><a href="https://wiki.ubuntu.com/Artwork/Incoming/Hardy/Alternate/Kerberos"><img class="alignright size-medium wp-image-97" title="style9" src="http://piestar.net/wp-content/uploads/2009/06/style9-300x225.png" alt="style9" width="300" height="225" /></a>Since I whinge a lot about what should be done I thought I&#8217;d put my money where my mouth is and give it a bash and maybe help do some good.</p>
<p>So I signed up to the mailing list, created a very basic (but indicative of the direction I wanted to go in) design and started posting (first design ever is <a href="https://wiki.ubuntu.com/Artwork/Incoming/Hardy/Alternate/Kerberos" target="_blank">here</a>).  A few people liked it, a few people hated it, I received a bit of feedback, acted on it, and posted again.  As this cycle continued though and as I saw many people much more talented than me post work, get comments, then disappear I realised something surprising: Nobody with any actual authority over anything was bothering to read the mailinglist or look at the wiki.</p>
<p>You&#8217;ll remember the launch of Hardy and the exciting new theme culminating in a fancy wallpaper &#8211; It had nothing to do with the quality of the submissions.  Rather than as in every single professional design project I have worked on where several concepts are submitted, whittled down to a few and then to one, it was clear that this process was never going to happen since there was nobody at the wheel who was going to make the initial choices.</p>
<p>I never received any feedback from anybody official on my work, and the bulk of feedback was solicited by spamming various Linux forums with links asking for opinions.  Again if this was a professional business I was dealing with who were paying me to do it I would be told Yes/No and given reasons for the decision from which point I would either go back to the drawing board or work on addressing the issues raised and thus be able to move forwards.  Alas, nobody was at the wheel and all you could hear was the sound of crickets.  As a result it&#8217;s impossible to improve as there is no indication of *what* needs improved.</p>
<p>I started pushing the issue after a while as the deadline for Hardy was a few months away and even if my design was not considered (I didn&#8217;t really expect it to be), at least someone else&#8217;s would have been that I could have helped out on &#8211; I was willing at this point to learn how to do some theming too.  But again, there was no official decision or feedback.</p>
<p>Soon into this discussion it was made clear that if I wanted my design to be considered I should &#8216;Make a theme out of it and post it on Gnome look&#8217;.  So what started as a campaign to involve non-developers in Ubuntu &#8211; and bear in mind this is just a skin-job and not even touching the usability elephant in the room &#8211; turned into a &#8216;learn to program, we&#8217;re not going to do it for you&#8217;.  I was pretty much expected to sink dozens of hours of my time into creating a theme, adding it to an already massive list and then hoping the Ubuntu devs spot it on the off chance that they actually look through that site.</p>
<p>Ultimately Linux development is only for those that 1: have the time and 2: are programmers, and despite the lip service they pay to usability and design, the focus on a developer-centric solution to every problem is simply not yielding any results.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h1>Ronco Spray-On Usability</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/06/16/jump-in-my-time-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stopping the Cufón FOUC in IE</title>
		<link>http://piestar.net/2009/04/27/stopping-the-cufon-fouc-in-ie/</link>
		<comments>http://piestar.net/2009/04/27/stopping-the-cufon-fouc-in-ie/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 10:13:59 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rubbish]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=68</guid>
		<description><![CDATA[FOUC (or Flash of Unstyled Contents) is where the page loads the boring normal text for a split second each page before it gets replaced with the proper text.  Which looks a bit crap. Luckily the fix is ridiculously simple.  This usually occurs in IE, but this may fix it for other browsers also. Simply [...]]]></description>
			<content:encoded><![CDATA[<p>FOUC (or Flash of Unstyled Contents) is where the page loads the boring normal text for a split second each page before it gets replaced with the proper text.  Which looks a bit crap.</p>
<p>Luckily the fix is ridiculously simple.   This usually occurs in IE, but this may fix it for other browsers also. Simply put:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
Cufon.now(); &lt;!&#8211; avoid the fouc in ie with cufon &#8211;&gt;<br />
&lt;/script&gt;</p></blockquote>
<p>Somewhere just before the closing &lt;/body&gt; tag and the problem is solved.  If only everything in life was that simple <img src='http://piestar.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/04/27/stopping-the-cufon-fouc-in-ie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting a single element from MySQL easily with PHP</title>
		<link>http://piestar.net/2009/04/27/getting-a-single-element-from-mysql/</link>
		<comments>http://piestar.net/2009/04/27/getting-a-single-element-from-mysql/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 10:06:54 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=66</guid>
		<description><![CDATA[I see this quite a lot, for example if you want to pull the value of the column `name` from a table using the ID: $sql = &#8220;SELECT `name` FROM `tablename` WHERE `id`=&#8217;45&#8242;&#8221;; $res = mysql_query ($sql); $row = mysql_fetch_assoc ($res); $name = $row['name']; But if you use list () and mysql_fetch_array () you can [...]]]></description>
			<content:encoded><![CDATA[<p>I see this quite a lot, for example if you want to pull the value of the column `name` from a table using the ID:</p>
<blockquote><p>$sql = &#8220;SELECT `name` FROM `tablename` WHERE `id`=&#8217;45&#8242;&#8221;;<br />
$res = mysql_query ($sql);<br />
$row = mysql_fetch_assoc ($res);<br />
$name = $row['name'];</p></blockquote>
<p>But if you use list () and mysql_fetch_array () you can trim it down somewhat&#8230;</p>
<blockquote><p>$sql = &#8220;SELECT `name` FROM `tablename` WHERE `id`=&#8217;45&#8242;&#8221;;<br />
$res = mysql_query ($sql);<br />
list ($name) = mysql_fetch_array ($res);</p></blockquote>
<p>Since mysql_fetch_array returns a numerically indexed list, and list () pulls the values of the resulting array to the specified variables, you don&#8217;t need to get the return and then extract the value from the array since you can do it all in one line.</p>
<p>In fact I generally abstract this whole block out to a function such as:</p>
<blockquote><p>function sql_get_element ($table, $column, $value, $search=&#8217;id&#8217;)<br />
{<br />
$value = mysql_real_escape_string ($value);<br />
$sql = &#8220;SELECT `$column` FROM `$table` WHERE `$search`=&#8217;$value&#8217; LIMIT 1&#8243;;<br />
$res = mysql_query ($sql);<br />
list ($name) = mysql_fetch_array ($res);<br />
return $name;<br />
}</p></blockquote>
<p>So if you wanted to fetch the name from a table with a specific ID you could do this:</p>
<blockquote><p>$name = sql_get_element (&#8216;tablename&#8217;, &#8216;name&#8217;, 45);</p></blockquote>
<p>Thus cutting out a lot of the nonsense SQL calls, plus you centralise the data escaping to help ward off those troublesome SQL injection exploits.</p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/04/27/getting-a-single-element-from-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speeding up Cufón</title>
		<link>http://piestar.net/2009/04/07/speeding-up-cufon/</link>
		<comments>http://piestar.net/2009/04/07/speeding-up-cufon/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 08:35:56 +0000</pubDate>
		<dc:creator>Kerberos</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://piestar.net/?p=55</guid>
		<description><![CDATA[If you are not aware, Cufón is a font replacement system, similar to sIFR, with the advantage that it uses only Javascript rather than and Flash (As well as Javascript). Don&#8217;t get me wrong, load times are not that horrible at all &#8211; in fact if you have only a couple of transformed elements on [...]]]></description>
			<content:encoded><![CDATA[<p>If you are not aware, Cufón is a font replacement system, similar to sIFR, with the advantage that it uses only Javascript rather than and Flash (As well as Javascript).</p>
<p>Don&#8217;t get me wrong, load times are not that horrible at all &#8211; in fact if you have only a couple of transformed elements on the page it&#8217;s nearly instant, but it does slow down in proportion to the amount of transformed items so if you do everything it&#8217;ll basically grind to a halt for a few seconds every time the page refreshes.  This is obviously not really acceptable.</p>
<p>The problem I was having was that there are about 10 main menu items with about 10 sub menus each.  This means it takes about 2 seconds to load in IE (it&#8217;s the slowest, unsurprisingly).  The plan was to transform only the top level items and then only do the dropdowns (it&#8217;s an accordion but that shouldn&#8217;t make a difference) when the user hovers on the top level item, rather than doing everything on page load.</p>
<p>Here&#8217;s the code, assuming that the main &lt;ul&gt; is in a &lt;div&gt; called #products-menu, and it follows the standard ul li a format, with the sub ul&#8217;s nested in the li&#8217;s.</p>
<pre>    &lt;script type="text/javascript"&gt;
        $(document).ready(function(){
            // Dynamically load cufon on drop downs
            $('#products-menu&gt;ul&gt;li').hover(function() {
                $(this).addClass('cufon');
                Cufon.replace('.cufon ul li a');
                $(this).removeClass('cufon');
            });
        });
        // Load Cufon on top level items only
        Cufon.replace('#products-menu&gt;ul&gt;li&gt;a');
    &lt;/script&gt;</pre>
<p>It also uses jQuery, so you&#8217;ll need to include that in the header also.  Anyway I hope this helps someone!</p>
]]></content:encoded>
			<wfw:commentRss>http://piestar.net/2009/04/07/speeding-up-cufon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.249 seconds -->
