Split and How

Posted in Free and Open Source Software, Politics on February 18th, 2009 by doctormo

It’s a very interesting thing to watch, the split between Free Software and Open Source. Most of the people involved, most of the sensible ones anyway, believe in almost the same things, for almost the same reasons, pretty much most of the time.

The almost poisonous regard to principles from Torvalds and the disregard for subtle tactics by Stallman. You could be forgiven for thinking they’d be natural enemies; but I don’t believe they are. Instead they are, like so many characters in stories, played against one another. Such is the howl of the press and the gale of fanatics around them; that I could believe they themselves even start to believe some of the hyperbole. Regressing further into the negative emotions whenever discussing these topics.

logic1What’s interesting is that much is talked of the tenacity, the cleverness and the sheet brutish brilliance of the men. But personally, I can’t stand them. Few figures in the FOSS community, that come to attention, give much time for their fellow men, as people. Weather viewing others as machines or comrades in arms. It’s not helpful to put aside empathy and consideration when your trying to work with others; weather it be your users (open source) or your society (free software).

I hope that with our principles, with our organisational mechanics, we can add our humanity and keep in mind just how wonderful it can be to just be human.

World of Goo: for Ubuntu

Posted in Free and Open Source Software, Ubuntu on February 17th, 2009 by doctormo

Today I found out that 2DBoy has released World of Goo, their super puzzle game, for Ubuntu (and other FOSS systems)

Helios reports on it here, It’s great to see games that I can play without wine or some other compatability layer. And thanks goes out to the porter.

Support this game by buying it, I know I have. $20 isn’t that much, even for someone unemployed like me.

The old and the new complainers

Posted in Free and Open Source Software, Programming and Technical on February 16th, 2009 by doctormo

From time to time you see comments like this:

In the dear old days when PCs were shiny and new, we all had to wrestle with operating systems, weird software, and be half-programmers, half hardware guys, to write and print out even a letter. This was kinda fun when it was a cottage industry. But now PCs are like toasters or TVs,and I’ve lost interest in making them work the way they should. I reserve my love of learning for something other than what I was doing in the 1980s. I don’t expect, twenty-plus years on, to have to go through what I did back then. I just want a hassle-free installation and a ‘don’t make me think’ interface, because I have a lot more things to do now. It’s why I given up on so many open-source things: I just don’t have the time.

Or maybe stuff like this:

If you aren’t willing to put up with the learning curve and want something “that just works” then feel free to go to hell and use windows or whatever is trendy these days. It’s morons like you who help spread malware and other crap.

These kinds of attatudes are facinating to me.

The first kind comes from the non-technical or proto-technical users. Who do really want to get on with something useful. Their failure is with the assumption that what they are given for free in the FOSS world, is all there is, and all there is likely to ever be. Instead of trying to work with the system, encouraging the developers, posting bug reports, funding some of the development. They sit and post comments about how the software is always too hard. It’s mainly too hard because the people who write it, wrote it for themselves, if you would just give them a reason to write it better for your use, they would probably do so.

I encourage us to try and engage these people, they do want to be using FOSS. They obviously prefer to use it. Perhaps if they had an obvious path to take when they need a problem fixed? Perhaps if we had some way for non technical users to improve software in their own enlightened self interest. And then encouraged them to use it?

The second comments are the “so technical, I forge my own CPUs out of silicon” gang. Instead of seeing the ease of use as extra leverage to more advanced features, and more progressive computing. They see ease of use as the same thing as dumbing down. Which is sad really, because if these often smart chaps where to bring their smarts into play to solve some of the more interesting UI design problems. If they were able to think about intelligent computers that are able to use intelligent defaults, with expandable controls. We’d have a better system, and less stupid conflict about who’s 1980’s computer knowledge is still useful today.

We should try an teach UI design and advanced courses in leveraged complexity in patterns. I’ve seen some wonderful innovations, it’s going to be exciting to see how they develop. But having all these old school critics of anything new isn’t helpful and they should learn to help us, not hinder us.

The Misconceptions of Non-commercial FOSS

Posted in Free and Open Source Software, Politics, Ubuntu on February 15th, 2009 by doctormo

In response to the blog written by Bryan Lunduke:

Mr Lunduke talks about the need for proprietary software at the enterprise level to fund the development of all the Free and Open Source software we enjoy.

Open Source projects need a way to be funded.  Commercial/Proprietary software is the way it has been done so far, and is the way it is likely to be done for the foreseeable future.

He’s right that projects and developers need funding. But has so many misconceptions about what Free Software is, that the stumbling falls off it’s logic early on. You can see how much of a problem this is with the comments section; where a number of posters show support for this ignorance. What this needs is a serious analogy:

Sir Lun, Duke of Bryant, was today giving a message to his subjects:

“This new al-chemical science research needs a way to be funded.  Churches and other religious havens are the way these new breed of enlightened thinkers have been provided the money, clean beds and food so far, and is the way it is likely to be done for the foreseeable future.

I consider this to be pretty straight forward and obvious… but apparently not everyone feels that way.”

The problem with Mr Lunduke’s logic, is that it assumes that proprietary is the same as commercial. That FOSS means Free as in cost (Beer) and not free as in speech (Liberty). These misconceptions are easily created by the likes of Red Hat, Novell and similar companies; as they do indulge a great deal in “subsidy” proxy funding as the examples show.

But this isn’t the only funding of FOSS, not even the majority.

As a business or a person, if I want a piece of software and I write it and spend my time making it do what I want and I then put it online as GPL software. Is this not funding? No money changed hands, but money in this instance doesn’t need to, it’s the most direct kind of investment a project can receive. This is actually how the majority of software, FOSS or proprietary gets developed, it’s just that the proprietary stuff ends up rotting in an old computer and is only ever seen by 10 people.

  • Direct party investment into the code and development.

This kind of investment accounts for the great majority of FOSS work. Your narrow your view too much if you think that only infrastructural work on Fedora or SuSE count as real FOSS development.

The second kind of funding is one of the most important to develop in the coming years. That is getting money from users of software who are not able to contribute their skill, but have a vested interest in seeing the project improve and managed. It’s not a very capitalised area, but if a community project like Debian can develop a strong market place, this kind of funding would be the main source of money for independent FOSS developers.

  • Direct monetary investment, by vested users.

Now lastly we come to the least stable and one of the least scalable forms of funding. This is the proxy funding. This is where you sell services (support, training, online poke GW Bush accounts) or some propritary extention and then funnel that money towards your baselines FOSS technology. It’s easy to see how a competitor could come in and undercut any of your services, because they don’t have to fund development like you do. Your trading on your trademark and perhaps event the notion that money going into Red Hat will end up as improvements in the software the paid for services are attached to.

  • Subsidised, proxy funding by service companies.

A closing word: we must maintain the enlightened principles of developing software in the Free and Open Source commons. We can’t let unimaginative and misconscribed detractors like Mr Lunduke tell us how money only comes from stripping peoples freedoms, from creating artificial barriers.

Sure, it’s the only way of getting into the wonderful world of sitting on your arse and doing nothing while the cash rolls in, like you can with property renting or large stock holdings. But FOSS isn’t about private asset building. It’s about the commons.

It’s about working hard to deliver a real service to non technical people. That service is Programming, Development and Progress of the our free software commons. However these non technical people end up paying for our hard work; they must end up paying. We will, as a community, have to make sure of it. Otherwise we may end up a community of charitable characters, serving whilst we starve, or unable to serve because of jobs involved in the proprietary software industry.

Anarchistic Slowness

Posted in Free and Open Source Software, Politics on February 14th, 2009 by doctormo

Why is FOSS so slow, it’s like a damn glacier!

Yes, but have you ever tried to stand in the way of a glacier? Even mountains are moved by such slow progress.

In the programming world, and to a larger degree in the FOSS world. We are frustrated by the progress of software, annoyed about the lack of enlightened principles being used to develop and fund software.

But, whilst in the coming 3 years, we might feel like we’re getting beaten back by Windows 7 in the race for social acceptance. Just remember, in 100 years time, how much software will be a derivative of Microsoft Windows 7, and how much will be a derivative of some form of Free and Open Source Software.

I’d put good money on FOSS if I was confident I’d be alive to collect the winnings.

What we do here in our community is as Cory Doctorow says: the progression of science. Having discovered our own enlightenment in the Open Culture movement, the hard battle of acceptance is under-way and is being won because of results. Sharing will always be more efficient that trade competition; but getting the markets, governments and consumers to accept that is difficult at the moment.

But don’t loose heart, it may be slow going, but it is unstoppable.

Debian Economics

Posted in Free and Open Source Software on February 13th, 2009 by doctormo

I had a rather interesting chat with someone on IRC the other day. It revolved around the idea that Canonical is taking debian development work, and making money from it.

debian-funding

Obviously FOSS licenses have no problem with this model. So long as the supplier and the creator each know where work was actually done.

But I could see how a number of developers from the Debian community, could be rightly upset that their failure to make any money from their work. This failure isn’t because of Canonical and Ubuntu; but rather because the debian communities have devoted no time or resources towards building themselves a way to convert vested interest into development funding.

It works like this: As a user who is not a programmer, I want a feature in some software. I want to spend $50 on the feature. But it will cost $5,000 to fund the development. This is where, in order for the development to be economical, you need to gather 100 other people who are also willing to fund the development to the tune of $50 each.

This pre-development funding based as it is on the reputation of the developers and the structure and organisation of the tools that allow such a fiscal collaboration, is the only way FOSS is ever going to work for the end user. You might be free to modify ubuntu to how ever you want, but as a non-programmer, trusting Canonical will only get you what Dell, HP and other OEMs want.

You can try to explain to me how Canonical has the best of intentions. But intent will be malformed by the tasks that lead to funding. Funding at any cost may well make Canonical revise some of it’s core principles and it certainly won’t be focused on delivery of end user features if the only end users it can see are the OEMs that are funding it. There is hope that Mark’s iron stubbornness will prevent this, but it’s hard to tell at this stage.

So for debian, and similar development communities. It’s imperatively important that it starts getting organised with respect to all the money out there waiting to be invested into Debian developers. Though be aware of these things:

  1. Do not use “donations”, you don’t run a charity.
  2. Your business is development, your funding is investment.
  3. Social organisation and agreement is super important.
  4. Getting the right tools in place to make it easy for money to flow is critical.
  5. Manage project scope and documenting progress, detail the how.
  6. Bounties are no good, the money is too small, you need collective funding.
  7. Don’t be too generic, funding should be for specific improvements or for overall project management.

I’m hopeful that the future won’t be filled with Red Hats and Canonicals delivering what end users want, but by market places, organised by the Free Software communities.

Wiki Databases

Posted in Free and Open Source Software, Programming and Technical, Ubuntu on February 12th, 2009 by doctormo

In the LoCo team I lead, we are often updating the wiki pages with our news, our meeting information and lots of data about what we’re up to.

Using the wiki as a project management and event planning space is not easy. It’s inherently unstructured editing allows anyone to break carefully laid out wiki page structures. There are no constraints that can be placed on a wikis content or form.

One of the things that is constantly happening, is databases are being created in the wiki. These are just tables with arbitary data in each square. This suffers from decoherence as much as any wiki structure.

So looking around I notice that there are people thinking about how to add a more structured database editing to wikis. It would be great if we could have these addons in the ubuntu wikis. Although more useful would be LoCo centric tools in Launchpad (which I’m sure will happen once it’s open sourced)

Liberty via Social Mechanisation

Posted in Politics on February 11th, 2009 by doctormo

This is my first political blog entry, so firstly I should point out my political position:

According to the political compass (that great stalwart of political measuring sticks) I’m (-6.25, -7.0) This makes me a socialist libertarian, aka Gandhi’s naive idealist. If there was a party for this sector of the political world, it’d be called the ‘Naive Party’ and we’d have meetings about how best to build utopias out of love, hope and pink ponies. OK, on with the show…

Social MechanicsLiberty and Socialism are funny things. If you know American culture, then you know that the standard view is that these two ideals are directly opposed. Liberty can not be achieved if people are forced to work together, and socialism can not be achieved because people will only work for their own selfish needs.

Although the science does not seem to agree with the purely selfish assumption; it’s still interesting to pick out the central thought as to why these ideas are seen as opposite and why the same is not thought in Europe, where many socialist governments are not turning their countries into communist authoritarian states.

In Europe it’s believed that Socialism and Capitalism are in conflict, and that Libertarianism and Authoritarianism are in conflict. But the link between an economic model and governing model is weak, especially when you can selectively choose which economic model to use in different parts of a society’s services.

So American culture must view a very strong link between social organisation of labour and a loss of liberty. I believe this comes from the idea that mechanical rules for redistribution and the movement of labour value (money) is liberating because it avoids the ugly business of any one person being able to stand outside the system, twisting the controls and having an unfair advantage.

Being in a position to tell 100 workers what to do, because you pay them a wage they have agreed to, has more freedom than a system where 100 workers are told what to do because the government, barron or king says so. The ability for the workers to control their own freedom (even if it’s a subjugated choice) seems preferable to guarenteed subjugation at the hands of people who are somehow valued more.

But, mechanisms are the human mind’s speciality, working around them and being able to modify the constraints from the inside is not such a hard thing to do. With very little want to update the machinery after a long process of anti-communist propaganda; The American culture is now of the mind that Asset Growth Capitalism is a perfect machine if not the only possible system other than authoritarianism.

To me, our modern times look broken, serving the few who are able to control; the many who do not understand the system they live in. The machinery we as a society agree to, a set of rules about property, assets and the scales of perpetual earnings for no labour. The infinite leverage for infinite asset holding potential that makes mathematicians weak at the knees when you consider that we have a closed system, all seems off kilter.

Is it still liberty if the only choice of the working class, is who will be thy slave master?

No, if we really believe that the mechanisation of social interation, when concerning money, is a good thing that promotes liberty. Then we must make sure to do it right, that we have a system that we agree upon, that is more fair and is less prone to collapse than the existing one.

The existing model is in constant repair, the government takes the broken economy, attempts to fix it and then sets it off runningwith the same design that caused it to fail in the first place. Perhaps an added brace, or go faster stripes. But if we were frank enough to sit down and talk about modifications to the core mechanisms, we might achive a more sound mechanism for which we can base our labour economy.

Correction: Facebook Auth API's

Posted in Programming and Technical on February 10th, 2009 by doctormo

OAuth, one of the most deliberately obscured and complex systems of authentication I’ve worked with. I keep on hearing how great it is, both Facebook and Flickr use it.

According to others who have worked with facebook APIs before, facebook isn’t OAuth. So I can’t attach facebook’s failings to OAuth’s designs. Although they look very similar with their not so secure keys. So the post is being re-edited to just apply to Facebook’s Auth:

A set of seemingly ridiculous set of unnecessary devices, for the express purpose of looking awesome. The very notion that a developer must set up his own authentication server in order to create a desktop application that ties in the cloud, is ridiculous.

Now I know _why_ this system is built the way it is; they are assuming the following:

  1. All developers are making websites that want to cross script authenticate not apps
  2. That firefox cookies make great keyrings
  3. That there is nothing outside of a browser, the operating system is dead
  4. Programmers are not trustworthy enough to follow security guide lines.

In OAuth there is an interesting feature that it may be worth keeping hold of, that’s the password crossed app’ key token. Take one user password, mix in the unique app key and out pops a secure token that only works with your app on that one computer. Great because you can throw away the password and the service provider can offer cancellation of any of these tokens to their users. This is a feature that is only useful if your app is able to store a session key that lasts more than 1 day.

The modules I’m making for Facebook will be aweful, constantly disapearing after the session times out or the computer resets. The only way I’m going to be able to do it now, is by doing what the libpurple guys did for pidgin/facebook chat. Login from the app as if I was a browser.

Cron or Selfish Daemon

Posted in Programming and Technical on February 9th, 2009 by doctormo

One of the tiny, quick programs I built for someone was this:

https://launchpad.net/gnome-wallchanger

The problems as documented in this Ubuntu Forums thread are obvious:

http://ubuntuforums.org/showthread.php?p=6704327

In short, the intrepid upgrade killed my little project stone dead. Why is that? Well the randomiser requires a process which calls the random-wallpaper script at intervals specified by the user. But in intrepid a security bug was fixed which allowed the same user using bash, to access the gnome session variables.

Unfortunately the crontab for the user is outside of the gnome session. It can no longer find any variables and can’t update the background.

Most of the advice I’ve received from gnome and core ubuntu devs, is to just create my own daemon. A process which would run in people’s start processes when they log on. But when you think about it, this is dumb, as per my previous thread about infrastructure. There is a reason we make standards like cron, it’s to prevent wasted resources (both programmer time and user’s computer).

So what to do? Well I’ve thought about trying to talk again to some of the ubuntu devs, see how possible it would be to bring the crontab (or a different session crontab) into the gnome session. This would solve my issues and also allow other developers to manage cron tasks for users.