Tag Archives: Free software

Do you need a WiWi?

There have been HiFi, WiFi and Wiki. I demand WIWI (yes, wee wee.)

Ignoring the truth, that Wiki means “quick” in Hawaiian, and believing the later redefinition that it stands for the self-documenting “What I Know Is”, why can’t we have “What I Want Is”s?

There seems to be a huge disconnect between people who think of good product ideas and people who can build them. Imagine a system where noone had to take the credit for an idea and better things got built by software and hardware hackers, simply giving credit to the person who thought of it.

Money would be nice, obviously, but that demonstrates how silly any idea of “Intellectual Property” that doesn’t include ‘ideas’ is, in an information economy.

This idea has been: ‘a WiWi’ by Woo.

I’d like this to be a Free software reference implementation with a distributed system and open interfaces but if I’m stupid enough to give away ideas for the common good…

The Value of Software

I’ve been reminded of the fastest 1980s transatlantic software delivery method:

  • Put software on a magnetic tape.
  • Put the tape in your hand luggage.
  • Fly to the USA.
  • At customs, when asked if you had anything to declare, say “This tape”. If asked the value of the tape, make a fast decision whether to say $10 and risk 12 hours of interrogation as a possible communist spy, there to steal America’s software secrets or say $150,000 and be sure of an hour of form filling.

It has occurred to me that the correct answer was:
“$10. The licence costs far more but I’m not carrying that. It will be sent on later.”

Software is worth nothing until you use it and only until you stop using it. Free software costs nothing, so developers need to get paid in a different way. Should Free & Open Source Software be paid for only by those who use it to generate a profit and could it generate an international income for the countries that fund it, adjusted for national wealth?

Could we have a licence to receive free software updates, only paid for by businesses, according to their income (before tax fiddles) and routed to the teams that developed the software that is most used? Commercial software could join the scheme too, with higher prices if less rights are handed over. I don’t think it is healthy for FOSS to kill the commercial software market, because it encourages anti-competitive service monopolies like Facebook and Google.

[ This is a first draft of an idea ]

Small Pieces Loosely Tied Together With URLs

In my last post, I mentioned Bruce Lawson’s talk on the Extensible Web, before ‘going off on a rant’ about the long term viability of the Web as a development platform. Today, I would like to talk about a very basic thing he mentioned: URLs, Uniform Resource Locators.

Bruce was the third of three(*) prominent figures from the world of the world wide web who I’ve seen speak out publicly recently about the deteriorating ecosystem of The Internet. Until now, I’ve seen this as a reaction by the established potential monopolies to constrain the network of Free software that threatens their power structures, into hierarchical walled gardens that they hope to control. They could then compete to tempt us into their own secret garden and corral our social network into their own ‘safe space’, like gently grazing cash cows who believe they have free will. Big Data companies want a single point of entry to their private network of services, as a replacement for software licences; or to give away free because we, the click-cattle, are the product.

I was reminded a couple of days ago that a hierarchy is a structure built out of single points of failure. Internet Domains are notionally tree-structured. This may be the biggest design fault in the Internet Protocol stack.

Bruce’s talk pointed out that URLs are the key resources that we are losing. The Internet is hand-crocheted out of fine threads that can snap easily. They are connected onto ‘ports’ at IP addresses. They are the way straight through the garden gate to the heart of each garden. This interconnectedness provides the biodiversity we need. URLs are the addresses the postal service has allocated to each letter-box in the garden doors. They are used by the Internet to deliver your packets. If URLs have letter-boxes in the outside door and the gardeners can be trusted to deliver the packets then though the web is owned by private companies, it is still functional. If any URL is only available to those inside the walled garden then its threads to the outside world have been cut. The internal resources have been made private to a corporation. Soon, the gardeners can be paid in Garden-coin, to be spent only in the company shop.

If the URLs are hidden, we won’t have an Internet. We will have a tree of nets, like before the Internet was created, when no-one got fired for buying IBM and IT Directors ate well.

Any similarity between this tactic and the UK government’s attempts to force cities to elect a mayor as a single point of contact, instead of the current ‘networked chaos’, in exchange for ‘local, distributed democracy’ is entirely imaginary/a lie/coincidental/true. Whatever.

As ‘Sun Microsystems’ might have said, “The Network is the Democracy.” Our revolution is under attack from reactionary forces. We must storm the barricades.

* The other 2 were:
David Winer, @davewiner inventor of RSS and the Iranian Blogfather, Hossein Derekshan who suffered more than most of us for blogging

http://uk.businessinsider.com/iranian-blogger-hossein-derakshan-internet-changes-6-years-filter-bubble-2015-7?op=1?r=US&IR=T

Software Life-cycle. Part 1 – From Engineering to Craftsmanship

I graduated just after the Structured Programming War was won. I was probably the first generation to be taught to program by someone who actually knew how; to be warned of the real and present danger of the GOTO statement and to be exposed first to a language that didn’t need it. I didn’t need to fall back to assembler when the going got tough or to be able to read hex dumps or deal with physical memory constraints. I entered the computing profession just as people were starting to re-brand their programmers as ‘software engineers’ and academics were talking of ‘formal methods’ then ‘iterative development’ and ‘prototyping’ as we lost faith and retreated, as the techniques borrowed from other engineering disciplines continued to disappoint when applied to software.

After some years away from software development, I returned to find ‘Agile’, ‘Lean’ and ‘Software Craftsmanship’. We’d surrendered to the chaos, accepted that we weren’t designers of great engineering works but software whittlers. I was pleased that we’d dropped the pretence that we knew what we were doing but disappointed that we’d been reduced to hand-weaving our systems like hipsters.

There had been another good change too: The Object Model. The thrust of software engineering had often been decomposition but our model had been the parts breakdown structure, the skeletal parts of a dead system. Objects allowed us to model running systems, the process network at the heart of computation. I’ve recently seen a claim that the Unix command line interface with its pipes and redirection was the first object system. Unix begat GNU and Free software and Linux and close to zero costs for the ‘means of production’ of software. I don’t believe that Agile or Lean start-ups could have happened in a world without objects, the Internet or Free software. Do you know how much work it takes to order software on a tape from the US by post? I do.

So here we are, in our loft rooms, on a hand crafted loom made of driftwood and sweat, iterating towards a vague idea emerging out of someone’s misty musings and watching our salary eroded towards the cost of production. Is this why I studied Computer Science for 3 years? Who turned my profession into a hobby activity?

IF socialist THEN IF democratic AND distributed_power THEN Green_Party

I always like ‘crossing the streams’ of my apparently disparate obsessions. Last night my long term fascination in whether the Free Software movement can survive a war with software capitalists, collided with my recent interest in the Green Party.

I have struggled for years to find any political party in the UK that comes close to my political ideals. I am economically Left, Right in terms of Liberty and think the environment is sending us very strong signals that capitalism has been a more destructive failure than communism. I believe in equality of opportunity rather than equality and in distributed rather than centralised power. I prefer incremental change to the unpredictability of revolution. I see little difference between nationalism and racial or religious hatred. No party quite fits my shopping list but at the recent General Election, I decided that the current Green Party comes closest, so far.

Richard M. Stallman, instigator of the GNU Project, who kicked off the the GNU GPL (General Public Licence) and indirectly, the CopyLeft movement has turned his attention to politics in recent years. Arguably, his life’s work, Free Software, is the practical application of ‘social ownership of the means of production’ but RMS is the ‘Marmite’ of the Free Software community. His almost total lack of pragmatism and slightly abrasive personality towards anyone who disagrees with him divides opinions but I have learned over the years to never question his basic logic. He has a habit of being right, even when it is inconvenient.

I have become increasingly suspicious of large corporations and hierarchical power structures. RMS’s idea on ‘too big to fail’ is the best economic solution to monopolies I’ve ever seen: http://blogs.reuters.com/great-debate/2013/02/04/fixing-too-big-to-fail/

In his ‘political notes’, at (https://www.stallman.org) on the day of the UK election, RMS wrote this:

“18 May 2015 (Revitalizing the Labour Party)

Making the Labour Party good for something depends on bottom-up community organizing. Acting like a right-wing party produces a right-wing party.

Perhaps instead of revitalizing the Labour Party, Britons should go Green.”

I also noticed that his preferred US presidential candidate is an independent who describes himself as a ‘Democratic Socialist’. This is surprisingly different to the ‘Social Democrat’ “…view of reform through state intervention within capitalism” https://en.wikipedia.org/wiki/Democratic_socialism

“Decentralised socialism”. “…seeing capitalism as incompatible with the democratic values of freedom, equality and solidarity.” Maybe I’m a Democratic Socialist now. Are you?

If RMS thinks the British Labour Party has lost touch with socialism, then I’m a little more comfortable about having thought the same for the last few years too. I was unhappy with the LibDems prioritising economic growth over environmental danger and perhaps I understand better now where my intuitive reaction to that came from.

ESR’s ‘The myth of the fall’

An excellent blog post by Eric S. Raymond (the man who wrote ‘The Cathedral and the Bazaar’) on back-projection of current values onto an idealised historical past (with a bit of personal revisionism about his old sparring partner Richard M. Stallman thrown in for good measure)

http://esr.ibiblio.org/?p=5277

I found this while researching precise meanings of “Free” (not necessarily free) and “Open Source” (also Free, but with a right-wing personal freedom rather than a left-wing community-ownership stance. The outcomes are virtually indistinguishable.) The thing you probably thought was Open Source, if you’ve ever thought about it, is called “Shared Source”, a term invented by Microsoft.

This is why the FOSS movement isn’t popular with managers. It can’t be explained with a pie-chart.

Social vs Capital Part 1

When I joined ‘the computing industry’ (or was it ‘the data processing trade’?,) there were two kinds of computers: those made by IBM and the others. The others came in two flavours: IBM mainframe clones and ‘trying to be different’. Trying to be different was so successful that IBM were eventually forced to try being different to themselves.  The various hardware families all ran different operating systems. Changing hardware required all your software to be rewritten. Moving from IBMish mainframes meant your data had to be translated into ASCII. The proposed solution to the operating system problem was Unix. Unix was created to give hardware independence, through software portability. It was made easier to ‘port’ Unix by writing it in the C programming language rather than the specific assembly language of the hardware.

This revolution happened within AT&T, a company prevented from competing with IBM by anti-trust legislation. Freed from the profit motive, other than the desire to save costs, they did with Unix what was best for everyone. They gave it and its source code away free to anyone who wanted it. More importantly, they allowed its improvement by universities.

Later, the US government started to allow commercial exploitation of Unix by AT&T. Key source code became subject to non-disclosure agreements and the fastest period of cooperative computing innovation up to that point was closed down.

Two important things came out of this disaster – 1) PCs and hence Microsoft and 2) the Berkeley System Distribution (BSD) of Unix and GNU’s Not Unix (GNU), led by Richard Stallman, whose frustration at not having the source code to fix his own printer gave him such a mighty itch, he kick-started the whole Free and Open Source Software (FOSS) movement and it’s biggest success, the Linux Operating System, recently made popular by Google. Bill Gates’ biggest competitor was never Steve Jobs; it was an idea set loose by idealistic academics – that people are stronger when they share the product of their labours, that you pay people for producing, not for the product. This was a harmless ideal at first because large organisations owned the computers that were a key part of the means of production.

I am indebted to Robin Ince again, for pointing out in his TEDx Dublin talk ‘The Mind is a Chaos of Delight’ http://www.youtube.com/watch?v=0pfOHaWeTr8 that Evolution doesn’t predict only “survival of the fittest” but ‘survival of the just good enough not to die’, which I think explains Microsoft’s success, and for poking me in the profit-motive with his blog entry http://robinince.wordpress.com/2013/11/26/i-was-going-to-jump-in-the-canal-to-save-the-drowning-man-but-then-i-thought-whats-in-it-for-me/, to finally start this troubled tale of open software.

FOSS has been running around in the background, largely unnoticed by the lumbering beasts, much like the early mammals. Apple OS X is built on FreeBSD and Google Android and Chrome OS are based on the Linux kernel. In the long run, Apple and Google may look like the last of the small, fast raptors rather than the first intelligent apes, because somewhere along the way, the sharing became one-directional, and their essentially predatory nature struggled to survive as their more social competitors saw the danger and drove them into the swamp.

In forthcoming posts, I plan to look at the dangers the FOSS communities’ dreams of Freedom are facing in the current collision with Capitalism.

Masters of TeX

What are these things we call ‘posts’,  ‘documents’, ‘essays’ or ‘books’? If a picture is worth a thousand words then pictures are clearly CHEATING so, for now, let’s restrict our  attention to text-only ‘things’. In an earlier post, I called them “text objects”.

I have an unusual writing technology history. I was late enough for Computer Science to exist but early enough for it not to have had much effect. My final-year project was typed on a manual typewriter, by my Mum who had the necessary ‘office skills’. I joined the workplace when type-writers were on the wane but before word-processors had taken hold. A time of daisy-wheel printers as an alternative to clickety-clack line-printing onto stripy fan-fold paper. PCs hadn’t happened yet. My first software for writing, after a text editor, was a text processor. I learned to use DEC’s Runoff to format text but I might equally have used roff, nroff or troff on Unix. They were similar tagging languages derived from Runoff for Multics. Runoff arrived at DEC via MIT’s CTSS and University of California at  Berkeley. This was an age in which an idea for software was not patentable. Everyone copied the good ideas and progressed together.

One of the key decisions in the design of the Unix operating system was that all data was a bit-stream. One type of bit-stream was the text-file: printable, characters, each represented by a unique 8-bit byte-code. Unix came with a free set of tools that allowed people who thought like programmers to manipulate text files files very efficiently. An author created a text stream with embedded ‘markup’ language to give hints about structure and style. It was a technique borrowed from publishing.

Word processors were for typists. They were an incremental upgrade to a type-writer. ‘Normal’ people didn’t think like programmers. Normal people just want to print letters, not ‘run-off’ a new copy of their maths PhD, full of strange characters, diagrams and correct pagination.

In 1978, mathematician Donald Knuth moved text-processing forward into full, commercial grade type-setting with TeX. It had all the complexity that always comes free with flexibility. Technical authors no longer needed to risk having their beautiful formulae mangled by an innumerate type-setter. Leslie Lamport introduced a macro compiler to make TeX easier to use but it was too late. The ‘adequate mouse-trap’ had been sold, to the lowest time-investment bidder. You probably came in at WordStar or WordPerfect or Word or even Google Docs and you have my sincere sympathy.

Now, you are unlikely to use a ‘text processing language’ unless you are a Unix, or more likely Linux weirdo. Which is a great shame, because, even if you are normal, you have probably started to think like a programmer. You may find yourself wanting version control or shared document authorship or multiple output formats from the same source, or with variants.

We all need to take a few steps back before we can move forward. Word processors and WYSIWYG are wrong-headed. What-You-Get is a many headed monster. You can’t see it because it may not exist yet.

I’d love to paint a happy picture now, of software tools, available Free that are going to make it all easy – but I can’t. There are 3 viable competing tagging standards: LaTeX, DocBook XML and DITA. The newer standards have fewest mature tools. The state of the Free market in this area is ‘broken’. There are commercial tools and Unix can offer you tagging modes for text editors.

This is about where I came in, in 1982. 30 years of progress lost because accountants picked the wrong path to take computer science.