Software Freedom Society

I’ve been mulling over a new idea and I’ve come to my blog to draft my thoughts on it. I’m probably wrong, but I really want you to comment your thoughts below.

We have a Free Software world which is dominated by schools of thought, each focusing on a particular piece of the Free Software problem. Some of them know that they have a limited scope such as the Freedom Software Law Center and Software Freedom Conservancy (legal and sub-incorporation respectively) and then there are groups which try to be all things to all people like the grand daddy of them all, the Free Software Foundation.

I think the FSF itself wants to have a very limited scope, but it just can’t shake the fact that it’s political protests have implications outside of what it wants to do. Things like economics, interpersonal relationships, community culture and creative rights and remuneration to name a short few examples. I think perhaps that people who believe in the FSF’s political campaign, want it to be more. I know I’m frustrated with it’s lack of “do anything productive at all”, that seems to defined the last nine years. Many people who I know here in Boston voice similar low level grumblings think it’s lost focus a great deal because of what users want it to be.

Then there’s another organisation, the Canonical Ltd hype machine that is the Ubuntu community. It’s a pretty good force in the Free Software world (some people will disagree) but again, it’s members want it to be more than a corporate cheer-leading squad. They desire an authority that can standardise, set example, lead. But let’s be honest, Canonical can’t possibly do anything right in a lot of eyes outside of the Ubuntu community itself (even if it empirically did so). So the route to using the boundless capacity of enthusiasm and good ideas about community management and treating non-coders with respect has been watered down or rejected, ever tied to a company that is desperate to make money and over eager for your attention about it’s latest announcement that it drowns it’s own community out.

Now imagine a community that’s dedicated to Software Freedom like the FSF, as respectful and energetic as the Ubuntu Community, as transparent as Debian and as well defined as the Law Center. It’s goals would be to host an open membership, be an arena for debate about community structure, a place to document and explore social standards in both projects and the user communities surrounding them and to invite all to participate in projects as non-coding members.

We could take charge of the areas that the FSF struggles to host, help generalise existing community wisdom that might be tainted by the Canonical brand and provide valuable guides and education on the best ways to run projects and all the pieces needed to make them work.

We could do this by beating a drum and collecting together everyone until we get a critical mass that the social project works. But there is another more useful way too. Many coding projects suffer from a lack of infrastructure for their community operations, not just a lack of know-how. So we’d also start providing the-best-we-know-how pieces of community infrastructure such as mailing lists, forums, chat servers and social media mechanisms. The idea would be to share a lot of the technical burdens and let smaller projects have all the things they need to run a fun, inclusive and accessible community.

This project would of course ask other organisations to dismantle some of their existing structure. We’d have to gain trust and try and close down duplication as much as creating new spaces. This is after all about standardisation of social and community tools and practices and like the xkcd comic states, making new generic standards often leads to more standards. So making our infrastructure fast, pretty and reliable would also be important goals.

So, given that I’ve just rambled on about a passionate but off the top of my head idea (thanks for reading it!), what do you think? Please do comment below, comment in the social media link you might have used or you can email me at doctormo áŧ with your thoughts. I really do want to hear from people as this idea could be important to the whole Free and Open Source Software universe.

Canonical fails to step on Community: Shock, Gasp

The blogger Anthony Papillion has penned an article about how Canonical has taken another step against the community. It’s all about how Canonical have shut down the sounder mailing list and irc channels because they’re off topic and wildly out of control.

I have many concerns relating to Canonical and it’s conduct, but this isn’t one of them.

The first point Anthony raises is easy to debunk. The Community Council was the body to shutter the group, not Canonical. This was a community decision to help make sure the community is healthy. You can check what people were involved and if they work for Canonical or not.

Secondly, It would be hard to argue that the people in Canonical and even Mark himself have complete disregard for the community. They spend a lot of money maintaining various parts of the community, with staff and resources and while sometimes the community team does come out with some amusingly one sided posts and ideas, over all they’re here to both help the community grow and improve education within.

Finally, there is this mistaken belief from far too many people that Ubuntu advocates (or even Canonical staff) would be sad if users started to leave Canonical’s distro for other Free Desktops like Debian or Fedora. This is nonsense. We do our best here to provide a pretty cool desktop and the code is on offer for any other desktop too. I’m pretty happy about users finding their way onto other Free Desktops and I’m bemused when upset users try and use their move to Fedora as some kind of stick to lay into Ubuntu.

Please, go to Fedora, go to Debian, have a crack at Gentoo. Just enjoy yourself and be free.


FOSS Trademarks are Probably OK

The protection that projects have from trademarks can often seem to be a weapon used to remove the freedom of hackers to change the source code and redistribute.

Examples include the Firefox trademark agreement, where Mozilla will not allow a re-distributor to call their package ‘Firefox’ unless all code has first gone upstream. This policy is used to make sure everybody get’s Mozilla’s Firefox and not someone else’s Firefox that they couldn’t control the quality for.

Then there is the example of Oracle’s “” trademark which, isn’t allowed to be used by anything other than the code from Oracle. And since the split of the Open Document Foundation has forced the creation of a new brand ‘LibreOffice’ so that the open source code can continue to be developed in the open.

The third example is the corporate control of brands. Canonical the company owns and controls the Ubuntu brand, whilst building a large community of volunteers to build that brand on their behalf. There are agreements in place which allow the Community Council some control over uses of the trademark in the community and the general balance between community interest and corporate control is struck. Some may agree and other vehemently oppose this arrangement, but in all it’s about strong control over the brand name.

Trademarks exist to ensure that the trust we have in the quality and source of our real world products is assured within a given area and within a given industry. These limitations allow for names to be reused in other industries and other areas where the products wouldn’t be confused anyway.

So in essence, if free software projects want to maintain the trust of their users and maintain the trust of their distribution, then we need to utilise trademarks or something like trademarks to do it. Whether we use product trademarks or organisational trademarks such as ‘Firefox by Debian’ vs ‘Firefox by Mozilla’ is up for some debate.

Overall, my feelings on the matter of trademark use in Free and Open Source projects is that they are probably, currently, a slight positive in effect. You may disagree, please comment if you do or even if you don’t.

A Compliment for the Linux Adoption Curve!

My readers have been telling me that they’ve missed my blog entries where I look into some of the ideas around why Free and Open Source systems fail to gain traction. Today I’ll be conjuring that almost trope, the ‘Chasm’ adoption curve.

Basically the curve describes how any new technology must cross a barren dessert called the chasm from 10% to 20% of market share in order to gain enough share for the adoption to have enough momentum to go on and conquer the whole market.1 Often in the FreeDesktop ecosystem we see our adoption curve being really, painfully unable to push adoption past 10% of any slice of the market.

The problem we have, I think, is that we fail to create enough compatibility with our “compliments”; also known as all those requirements for tasks we want to do with our computers. I wish to use this to illustrate on one hand a rationale for why pushes into the mainstream fail and why I think peripheral hardware compliments should be a priority for all FreeDesktop programmers.

Every advocate knows that it’s easier to get people who are determined to adopt a Linux based FreeDesktop system than it is to get a windows expert to adopt one. For simple reasons, a self determined user will either make the sacrifices or make the investments to get his compliments compatible. This determination can take the form of either programming upstream new drivers, creating new applications or even just using toxic workarounds to fix an issue that causes things to not work on a fresh install.

Advocates will also often tell you about how successful they’ve been in getting their grandmothers using their FreeDesktop distribution. In fact many of us suspect that Ubuntu and similar distributions are very ready for typical technological Laggards, more than we are ready for early adopters. I think this has much to do with Laggard’s low investment in compliments and subsequent low exceptions about what computers can do for them.

This illustration (right) attempts to show the people to whom our software can be used as an acceptable replacement. In order to improve this, we’d need to either a) improve the attractiveness of the platform to encourage sacrifice of compliments or b) systematically increase compatibility of compliments.

The job of Unity in the new Ubuntu system is to improve attractiveness. An important attribute for sure. But many cycles has gone with a failure to improve compatibility with hardware compliments and this has shown that the gamble for Canonical is that they can improve the attractiveness to such a degree that the sustained investment into compatibility will come from the hardware vendors themselves.

I believe this is a mis-calculation. The hardware vendors will only invest in our ecosystem, when we are attractive compliments to their products. But they aren’t going to invest in their old discontinued products, but only into their new products. This leaves the old products without support and it just so happens that a great number of our main-stream users have made investments into hardware and are not willing to simply buy new hardware just yet. in conclusion, I think we can count on hardware makers providing us with drivers eventually; but for as long as they are not, we should be investing in all their old product lines and making sure they work with our desktop distributions.

This is why I believe it is important that Red Hat and Canonical stop playing around and put money directly into hardware peripheral device support. Printers, scanners, drawing tablets and even phone syncing. Everything that would improve our ability to attract new users over the chasm, by removing the things they would have to sacrifice in order to join us.

What do you think?

1 For a given sense of market, markets can be sliced and diced into different metrics and general purpose computers can be diced quite a fair few ways. For instance the programmers market is fairly healthy.

Canonical Platform Control, Bites!

According to network world, Canonical were asking for 75% of Amazon referral revenue from the sale of music through the newly selected Banshee music player.

I must note, that I don’t use Banshee and this isn’t about that program. This move by Canonical is a demonstration of lack of long-term consideration which can not be ignored by the larger Ubuntu community.

As I’ve been warning about in the past with the UbuntuOne services; the main issues weren’t the closed server code but a far bigger issue was the ability of Canonical to over-ride the best interests of the Ubuntu community in order to promote it’s own corporate interests. Historically Canonical have had fairly good self-control with their platform control, making sure to defer to the technical board for decisions. Since UbuntuOne however, we have progressively less self-control and in my eyes, less trust.

What worries me is that this is a continuation of a line of manipulations of the platform for UbuntuOne. We have Microsoft and Apple as a measuring stick of platform manipulation; if it looks like they would do it, you probably shouldn’t. Which in this case, removes revenue from a key software supplier or at the very least degrades our ability to work with Gnome.

I think we need a company with Canonical’s control to be thinking about money in Ubuntu the ecosystem and not only to it’s own business; a healthy ecosystem requires many different and overlapping organisations, all able to make money from the platform. Although I admit that Canonical is young, it still should be focusing on a foundation of models that it hopes to take forward.

Every time this sort of thing happens, it makes it harder and harder to recommend Ubuntu to new users. I just can’t guarantee that their experience has been considered in their best interest. Sooner or later it’s going to be easier to recommend other platforms.

Your thoughts?

Update: I reworded some of the text for clarity and directness.

No Business Like Bad FOSS Business

In response to Bruce Byfield’s article on how We shouldn’t feel bad when businesses have no morals. I feel compelled to point out the flaw in his logic and hopefully add some sense to why moral outrage is the correct response to unscrupulous behaviour by companies.

It’s not a surprise when companies are inconsiderate/naughty/evil, but that doesn’t make what they do any less wrong and it doesn’t make a negative reaction any less justified. The most important thing to remember as a consumer is that your aversion to certain behaviours of others directly affects your willingness to engage in business with someone. To put it another way: What we think about a business being bad, effects their profit. Just ask BP or Toyota.

The purpose of a corporation is to fulfil all of it’s responsibilities. It’s responsibilities to it’s capital investors is to maximise the return on their capital investment through profits, but it’s responsibility to their employees is to pay them the contracted amount. Two conflicting responsibilities… and yet somehow companies manage to balance them.

To list just a few possibly conflicting responsibilities that all companies have: Shareholders to extract profits, employees to pay, business to continue, customers to serve, environment to maintain, suppliers to pay and even maintain, society to improve and government to appease. Here’s Bruce Schwartz doing a much better talk on why scruples are a good idea.

When a company hurts the FOSS ecosystem (in this case Novel), it’s neglecting it’s responsibility to maintain it’s suppliers, it’s hurting it’s relationship and ability to serve it’s customers and it’s endangering the continuation of it’s business. We don’t even need to bring in it’s possible legal responsibility to know that what Novel did was damaging and wrong. Yes I used the word ‘wrong’, because sometimes there is a right way and there is a wrong way to “maximise profits”.

Having a social responsibility shouldn’t be impossible for companies and we shouldn’t put up with companies that have the audacity to claim it isn’t their responsibility. Too often they hide behind “My responsibility is to the share holders” which is about as nonsensical as looking after sun, but not the earth.

If your business has short sighted, profit motivated share holders, my advice is to get rid of them as soon as possible. As a business owner you don’t have to take up extra responsibilities of having investors…. No wonder Canonical and Facebook don’t want to float on the stock market, I know I wouldn’t want to have share holders in the current ethical climate.

Your thoughts?

Polemic Design

Between the early adopting individualists and the aesthetically pleased seems to be a rift growing wider and wider. Unity is a not customisable, read the comments too.

The culture that surrounds the community is certainly one of individualism. We like to think ourselves as cool outsiders doing something beyond the norm. There are users who don’t care so much, but the majority of us involved in advocacy and development have come to like the ownership and the sense of self style that comes with Free and Open Source Software.

The culture of Apple is a little different, it’s one of polemic design. A place where there is one right way to do something and there is a special person who will decide what that principle must be. Because this design philosophy has produced aspiring designs there are signs that others are copying. The problem is that polemics isn’t compatible with individualism, it’s not even compatible with science or rhetoric.

My own struggle with polemic design is rhetoric. I’m far more interested in dialectics than positivism for certain classes of problems, but software engineers don’t understand dialectics and so tend to simply stick with dualism. As if argument was about proving the other person wrong instead of working out a solution that solves the problems and resulting conflicts.

Dualism has gotten us into trouble especially when it comes to design. We have often looked blind to design because we add options to solve every conflict. Not having design skills available in the ecosystem has meant the community has been unable to come up with solutions to complex design problems preferring to copy instead. This is why Mark says “the community can’t do design” and it’s “design by committee”.

It has frustrated me how hard it is to work out design problems in the community in the past; but I don’t think the answer is to jettison faith in the community as Mark has done. I think with the design skills people are learning from the new Canonical design team and some studying of dialectic rhetoric we should be able to come up with good designs without the need for Apple’s polemic philosophies.

Your thoughts?

Ubuntu a Work in Progress

Debate goes on about the political nature of Ubuntu. Nothing new there you might be thinking, well I want you to consider two examples of external factors that push and pull at “Dictatorship vs Meritocracy vs Democracy” and I’ll conclude with some of my own thoughts. First the prologue:

I didn’t get to see Jono Bacon’s post Ubuntu: meritocracy not democracy until today. Shame I missed it, I like reading this stuff.

I’ve been a critic in the past that the DX and Design teams have not been in any way resembling a meritocracy. I’m happy to report that I think that’s changing and there is a real appetite from Canonical to work towards having a community of merit not just a community of business appointment. The mood is set…

It’s the Economy

We want to decide who is more important because we can not reasonably listen to everyone, nor can we reasonable expect to be able to invest our time or money into the personal ventures of every commentator online. So there has to be models to limit who your going to listen to. One way is to listen to the money, you don’t care how dumb the idea is so long as your being paid to do it, economic necessity and a way to create a nice authoritative decision making process.

There is no doubt in my mind that economics drive decision making.

Currently in Ubuntu we have a handful of major economic investors: Community Members, Mark Shuttleworth, Canonical’s Customers, the extended community and Upstreams[5]. Each investor has their own rationales, thoughts on direction and motivations, upstreams don’t tend to care too much what happens in Ubuntu even though they have a large economic input and in the other extreme the extended community has a low economic input in development but want large decision making. Ubuntu Members fall somewhere in between and Mark Shuttleworth falls in a very interesting large impact, single person category.

Who would I say has the majority of the clout? Mark Shuttleworth followed by Ubuntu Members then Canonical’s Customers and finally upstreams and the extended community. The reason OMG Ubuntu polls and brainstorm ideas have no effect? They’re mostly polling the extended community who is hardly involved economically in development.

Of course humans are not always able to conquer their own egos sufficiently to realise their shortcomings and economics has a way of sustaining bad decisions via ego. So we still need to discuss problems and we need to talk to people who have no economic dependence on us, otherwise we’re liable to simply get nodding heads. These discussions must be selective though since we need peer review of our dialectic, but do not have the time to listen to everyone in a very large community of users…

I’m not that Stupid

Users can feel like when they’re told to stop commenting that they’re not welcome in the community. I think it’s hard to tell a user that their point of view is valid but that their input is badly formed and their social awareness makes their opinion of minuscule importance.

No one likes being told they’re too stupid to be listened to, or that because they’ve got a full time job and can’t devote every spare hour to Ubuntu development that they aren’t worthy of someone’s ear and a few minutes of time.

Of course if you just speak a little louder, shout a little more aggressively, say more absurd and conspiratorial things, then maybe someone will listen. Because posting on your blog is helping the Ubuntu community right? Somewhat, if what you have to say is read by the right people, but then they might just ignore you anyway because of the confrontational language.

Of course scale that up to 12 million users and you suddenly see why some people want to start having democracy or at least hierarchy. Users can’t reasonable expect to be listened to, even though their input is vital to drag Ubuntu out of the programmer paradise and into the mainstream.

It’s frustrating being a user and noisy as hell being a developer.


I like the balance that basic Meritocracy brings to the community, Mark could easily be more fallible, more human and simply demand more and talk less about it based on his huge personal investment (est $50m a year). Having and treasuring the idea that any person can become worthy of listening to is important for proper peer review and it’s not a coincidence that this is a very similar process as in traditional natural sciences.

We could improve somewhat the ability for none-developers to have more say simply by allowing them to pay for Ubuntu’s development. It’s scary, hard to organise and damn near impossible in the current banking world. But if we want users to be served right, then we need users to give us the imperative to serve them. Taking money for Ubuntu development is one of the best ways to get the largest numbers of people contributing and thus giving them each a small voice with the developers they do business.

We could all be a little better at involving ourselves in multiple communities and cross pollinating, I know lots of people and most are not in the Ayatana mailing list so when people talk to me about design and dx decisions I can filter, mull over and then re-communicate the most important parts. This is a vital form of social organisation that we must account for, in a good Meritocracy it’s not just what you know or how much good work you’ve done in production but I think it’s just as important to consider the varied social networks we’re apart of that can add depth and experience to our communication.

Of course we could just elect everyone, but I’d rather not have to fight a popularity contest.

What are your thoughts?

Not Meritocratic Yet

Andrew has posted an interesting post about how Mark has reported in a bug report that Ubuntu is not democratic, but is instead meritocratic. (only those with merit get to be involved)

What is interesting to me is that this is wonderful intent but this isn’t backed up by current reality of design in Ubuntu and while a lot of commentators in the above article agree with Mark’s sentiments, the people I know around the community have been describing to me their frustration with the design decisions being anything but based on merit and have instead been based upon being staff.

In the community we are trying to show that there is a whole raft of people who _do_ have design merit, who are good designers, good artists, they have a good eye and know how to do usability studies. That the process that leads to the final design of Ubuntu should be opened up to people _with_ merit and not just to employees.

Of course I think this is what Mark wants too, better integration, less need to hire every community designer. So I’m not suggesting that the intent need change, but there are some things we can’t know about which might be hindering this move to meritocracy. In the wording there is mooted that a lot of the design choices are in preparation for future direction, that these features or directions may somehow be covered by NDAs with Canonical’s partners and that unfortunately for us, we may not be able to interact with the design team fully. (take this as a pinch of salt, it’s hearsay)

The article is not in any way an attempt to change things, just voice my frustration at the ineptitude of poor design and poor community integration of the design team. I still hope that we can come together and do something to get everybody moving towards what we all want.

A meritocratic governance.

The Debian Pennybox

I received an interesting email from Debian developer Raphael Hertzog who has happily allowed me to blog about the ideas we were talking about. His email centers around the funding of infrastructure projects in the Debian distribution and ways to think about funding that avoid socio-political problems.

We’re not talking about vast sums, but more enablement funding. Not profits, not stipends, commissionary funding.

Background: Raphael has written a book which he is hoping to get translated into English and which he hopes to make money from.

First thing is to distinguish between direct funding and proxy funding. For instance money from Raphael’s book enables him to write code and that’s proxy funding. But if someone paid him directly to write that code, then that’s direct funding.

Direct funding is in my opinion, more stable and shows a more healthy relationship between programmer and user. In order to achieve direct funding there is one fundamental question:

Who are you serving?

Who is it that takes the most benefit from your work? For the infrastructure work on developer tools, it’s other Debian developers and they I think should be the people who should fund Raphael’s work on Debian’s infrastructure.

For work on dpkg and other system code that gets shipped into Debian, then the answer is the users. People who use Debian should be involved in helping to pay for it. If Debian’s users are too poor, then Debian is not directly economically viable (though I don’t think this is the case).

Your other option is charity, people paying the project to do coding, even though it would never benefit them. There are plenty of projects that ask for money from anyone who’s passing by. But if the user uses the project then it’s not a donation, it’s an investment into the project.

Getting money from a property like a book is simple, it might not be as stable, but it’ll certainly be easier. Getting money from one area to feed one’s own self interested needs in another is a simple idea, you’d be self funding in that case. If your doing work for others, then your being a self driven charity full of compassion for your community.

Not all work can be economic, sometimes it’s because there will never be enough users and sometimes it’s because the users just don’t have the time/money to fund it. But lots of infrastructure programming can look uneconomic on the surface, but is in actuality unexplainable to users and thus is difficult at attracting funding directly. Those cases are normally most attractive to fund by proxy and all traditional businesses count such things as business expenses (things like office space).

There is a social stigma in Debian that now exists around internal project funding thanks to the Dunk Tank experiment which I think should be corrected. There is nothing wrong with money, it just needs to be handled completely transparently and ownership must be fairly explicit… which in the case of Dunc Tank it wasn’t. It’s not “Debian” funding things, it never was, it’s SPI or a board council or some other mechanism which exercises rights over the properties and to what they would be invested in.

Anyone who doesn’t like it, can go take it up with the owners of the money. Although when you don’t own the money, it’s a bit hard to argue that you should have been given a choice into where it went. This is perhaps why Canonical exists, so Mark didn’t have to fight through hoards of community well wishers to actually lay money down to get things moving… not that I agree with everything Canonical has done, but I see the reason for it’s existence, it provides a very definitive boundary about who’s money it is and those with the money get to decide what they want developed.

Personally what I would have done in Debian is done a slight dancing fork, splintered the money out into a project/organisation called “Debian Infrastructure” and then given voting rights/tokens to each approved deb dev. They can then ask for what they need from the infrastructure devs and the money can be spent without argument. Not enough money or free time to get a job done, then it can’t be done. What ever the end result, it needs to have very definitive property boundaries.