Note to the impatient: this is a long post and it only gets to free software ecosystem dynamics towards the end. The short version is that we need to empower software companies to participate in the GNU/Linux ecosystem, and not fear them. Rather than undermining their power, we need to balance it through competition.

Church schools in apartheid South Africa needed to find creative ways to teach pupils about the wrongs of that system. They couldn’t actively foment revolt, but they could teach alternative approaches to governance. That’s how, as a kid in South Africa, I spent a lot of time studying the foundations of the United States, a system of governance defined by underdogs who wanted to defend not just against the abuses of the current power, but abuses of power in general.

My favourite insight in that regard comes from James Madison in the Federalist Papers, where he describes the need to understand and harness human nature as a force: to pit ambition against ambition, as it is often described. The relevant text is worth a read if you don’t have time for the whole letter:

But the great security against a gradual concentration of the several powers in the same department, consists in giving to those who administer each department the necessary constitutional means and personal motives to resist encroachments of the others. The provision for defense must in this, as in all other cases, be made commensurate to the danger of attack. Ambition must be made to counteract ambition. The interest of the man must be connected with the constitutional rights of the place. It may be a reflection on human nature, that such devices should be necessary to control the abuses of government. But what is government itself, but the greatest of all reflections on human nature? If men were angels, no government would be necessary. If angels were to govern men, neither external nor internal controls on government would be necessary. In framing a government which is to be administered by men over men, the great difficulty lies in this: you must first enable the government to control the governed; and in the next place oblige it to control itself. A dependence on the people is, no doubt, the primary control on the government; but experience has taught mankind the necessity of auxiliary precautions.

When we debate our goals, principles and practices in the FLOSS community, we devote a great deal of energy to “how things should be”, and to the fact that “men are not angels”. I think the approach of James Madison is highly relevant to those discussions.

The conservation of power

Just as energy, momentum, charge and other physical properties of a system are conserved, so in a sense is power. If your goal is to reduce the power of one agency in government, the most effective strategy is to strengthen the position of another. We know that absolute monarchies are bad: they represent unbalanced power.

Within a system, power will tend to consolidate. We have antitrust agencies specifically to monitor the consolidation of economic power and to do something about it. We setup independent branches of government to ensure that some kinds of power simply cannot be consolidated.

Undermining power in one section of an ecosystem inevitably strengthens the others.

Since we humans tend to think the grass is greener on the other side of the fence, and since power takes a little while to get properly abused, you can often see societies oscillate in the allocation of power. When things seem a little out of control, we give more power to the police and other securocrats. Then, when they become a little thuggish, we squeeze their power through regulation and oversight, and civil liberties gain in power, until the pendulum swings again.

The necessity of concentrated power

Any power can be abused. I had a very wise headmaster at that same school who used to say that the only power worth having was power that was worth abusing. This was not a call to the abuse of power, you understand, merely a reflection on the fact that power comes with the real responsibility of restraint.

So, if power can be abused, why do we tolerate it at all? Why not dissolve authority down to the individual? Because the absence of power leads to chaos, which ironically is an easy place to establish despotic authority. Power isn’t seized – it’s given. We give people power over us. And in a state of chaos, all it takes is a few people to gain some power and they have a big advantage over everyone else. That’s why early leaders in new ecosystems tend to become unbeatable very quickly.

Also, power clears the path for action. In a world with no power, little gets done at all. We are better off with large companies that have the power to organise themselves around a goal than trying to achieve the same goal with a collection of individuals; try making a Boeing from an equivalent group of artisans, and you’ll see what I mean. Artisans form guilds and companies to increase their reach and impact. Individual volunteers join professional institutions to get more effective: consider the impact of handing out food yourself, versus helping sustain a network of soup kitchens, even in the purely non-profit world. Having some clout on your side is nothing to sniff at, even if you have purely philanthropic goals.

Power and innovation

If you have all the power already, there’s no spur to innovate. So kingdoms stagnate, eventually.

But power makes space for good things, too. It’s the powerful (and rich) who fund the arts in most societies. Innovation needs breathing space; companies with economic power can incubate new ideas to the point where they become productive.

Too much competition can thus limit innovation: look how difficult it has been for the Windows-based PC manufacturers, who live in a brutally competitive world and have little margin, to innovate. They are trapped between a highly efficient parts supply ecosystem, which feeds them all the same stuff at the same price, and a consumer market that requires them all to provide PC’s which run the same stuff the same way. As a result, they have little power, little margin, little innovation.

The trick is not to fear power itself, but instead, to shape, balance and channel it. You don’t want to aim for the absence of power, you want the Goldilocks effect of having “just enough”. And that was James Madison’s genius.

Verticals, competition and the balance of power

Of course, competition between rivals is the balance of power in business. We resent monopolies because they are either abusing their power, or stagnating.

In economics, we talk about “verticals” as the set of supply dependencies needed for a particular good. So, to make an aircraft, you need various things like engines and alloys, and those suppliers all feed the same pool of aircraft manufacturers.

In order to have a healthy ecosystem, you need a balance of power both between suppliers at the same level of the stack, and vertically, between the providers of parts and providers of the finished product. That’s because innovation needs both competition AND margin to stimulate and nurture it.

In the PC case, the low margins in the PC sector helped reinforce the Windows monopoly. Not only was there no competition for Microsoft, there was no ability for a supplier further down the chain to innovate around them. The only player in that ecosystem that had the margin to innovate was Microsoft, and since they faced no competition, there was little stimulus to embrace their own R&D, no matter how much they spent on it.

Power in the FLOSS ecosystem: upstreams and distributions

So, where do we stand in the free software and open source ecosystem?

The lines between upstreams and distributions aren’t perfectly clear, of course. Simplistic versions of that picture are often used to prove points, but in fact, all the distributions are also in some sense upstreams, and even derivative distributions end up being leaders of those they derive from in some pieces or markets. Nevertheless, I think it’s worth looking at the balance of power between upstream projects and distributions, as it is today and as it could be.

Also, I think it’s worth looking at related parties, companies and institutions which work a lot with FLOSS but have orthogonal interests.

If one uses margin, or profit, as an indicator of power, it’s clear that the distributions today are in a far stronger position than most individual projects or upstreams. The vast majority of software-related revenue in the FLOSS ecosystem goes to distributions.

Within that segment, Red Hat claims 80% market share of paid Linux, a number that is probably accurate. Novell, the de facto #2, is in the midst of some transition, but indicators are that it continues to weaken. Oracle’s entry into the RHEL market has had at best marginal impact on RHEL economics (the substantial price rises in RHEL 6 are a fairly clear signal of the degree to which Red Hat believes it faces real competition). The existence of “unpaid RHEL” in the form of CentOS, as well as OEL, essentially strengthens the position of RHEL itself. Ubuntu and Debian have large combined levels of adoption, but low revenue.

So clearly, there is work to do just to balance power in the distribution market. And it will take work – historically, platforms tend to monopolies, and in the absence of a definitive countervailing force that establishes strength outside the RHEL gravity well, that’s what we’ll have. But that’s not the most interesting piece. What’s more interesting is the dynamic between distributions and upstreams.

Today, most upstreams are weak. They have little institutional strength. It’s generally difficult to negotiate and do business with an upstream. In many cases, that’s by design – the teams behind a project are simply not interested, or they are explicitly non-profit, as in the case of the FSF, which makes them good leaders of specific values, but difficult to engage with commercially.

As a result, those who need to do business with open source go to distributions, even in cases where they really want to be focused on a particular component. This greatly amplifies the power of the distributions: they essentially are the commercial vehicles for ALL of open source. The weakness of individual upstreams turns into greater strength for distributions.

You can imagine that distributions like it that way, and it would be surprising to see a distribution, or company that backs a distribution, arguing for stronger upstreams. But that’s exactly the position I take: FLOSS needs stronger upstreams, and as a consequence, weaker distributions.

Stronger upstreams will result in more innovation in FLOSS than stronger distributions. Essentially, like Microsoft, a distribution receives cash for the whole platform and allocates it to specific areas of R&D. That means the number of good ideas that receive funding in our ecosystem, today, is dependent on the insights of a very few companies. Just as Microsoft invested a lot in R&D and yet seemed to fall behind, upstream innovation will be strangled if it’s totally dependent on cash flow via distributions.

It’s not just innovation that suffers because we don’t have more power, or economic leverage, in the hands of upstreams. It’s also the myriad of things beyond code itself. When you have a company behind a project, they tend to take care of a lot more than just the code: QA, documentation, testing, promotion. It’s easy, as a developer, to undervalue those things, or to see them as competing for resources with the “real work” of code. But that competition is necessary, and they make a great contribution to the dynamism of the final product.

Consider the upstream projects which have been very successful over the long term. Qt and MySQL, for example, both had companies behind them that maintained strong leverage over the product. That leverage was often unpopular, but the result was products available to all of us under a free license that continued to grow in stature, quality and capability despite the ups and downs of the broader market, and without being too dependent on the roving spotlight of “coolness”, which tends to move quickly from project to project.

There are of course successful upstream projects which do not have such companies. The best example is probably the Linux kernel itself. However, those projects fall into a rather unusual category: they are critical to some large number of companies that make money in non-software ways, and those companies are thus forced to engage with the project and contribute. In the case of the kernel, hardware companies directly and indirectly underwrite the vast majority of the boring but critical work that, in other projects, would be covered by the sponsoring institution. And despite that, there are many gaps in the kernel. You don’t have to dig very hard to find comments from key participants bemoaning the lack of testing and documentation. Nevertheless, it gets by quite well under the circumstances.

But most ecosystems will have very few projects that are at such a confluence. Most upstream projects are the work of a few people, the “coolness” spotlight shines on them briefly if at all. They need either long term generosity from core contributors, or an institution to house and care for them, if they want to go the distance. The former rarely works for more than a few years.

Projects which depend on indirect interests, such as those sponsored by hardware companies, have another problem. Their sponsoring institutions are generally not passionate about software. They don’t really need or want to produce GREAT software. And if you look at the projects which get a lot of such contributions, that becomes very obvious. Compare and contrast the quality of apps from companies which deeply care about software from those which come from hardware companies, and you see what I mean.

We FLOSS folk like to tell ourselves that the Windows hegemony was purely a result of the manipulations of its sponsor, and the FLOSS as we do it today is capable of doing much more if it only had a fair chance. I don’t think, having watched the success of iOS and Android as new ecosystems, that we can justify that position any longer. I think we have to be willing to think hard about what we are willing to change if we want to have the chance of building an ecosystem as strong, but around GNU/Linux. Since that’s my goal, I’m thinking very hard about that, and creatively. I think it’s possible, but not without challenging some sacred cows and figuring out what values we want to preserve and which we can remould.

Power is worth having in your ecosystem, despite its occasional abuse

There’s no doubt that power created will be abused. That’s true of a lot of important rights and powers. For example, we know that free speech is often abused, but we nevertheless value it highly in many societies that are also big contributors to FLOSS. You probably know the expression, “I disagree with what you are saying entirely, but I will defend to the death your right to say it”.

Similarly, in our ecosystem, power will be abused. But it’s still worth helping institutions acquire it, even those we dislike or distrust, or those we compete with. At Canonical, we’ve directly and indirectly helped lots of institutions that you could describe that way – Oracle, Novell, Red Hat, Intel and many others. The kneejerk reaction is usually “no way”, but upon deeper thought, we figured that it is better to have an ecosystem of stronger players, considering the scale of the battle with the non-FLOSS world.

I often find people saying “I would help an institution if I thought I could trust it”. And I think that’s a red herring, because just as power will be abused, trust will be abused too. If you believe that this is a battle of ecosystems and platforms, you want to have as many powerful competitors in your ecosystem as possible, even though you probably cannot trust any of them in the very long term. It’s the competition between them that really creates long term stability, to come back to the thinking of James Madison. It’s pitting ambition against ambition, not finding angels, which makes that ecosystem a winner. If you care about databases, don’t try to weaken MySQL, because you need it strong when you need it. Rather figure out how to strengthen PostGRES alongside it.

How Canonical fits in

Canonical is in an interesting position with regard to all of this. As a distribution, we could stay silent on the issue, and reasonably expect to grow in power over time, on the same basis that Red Hat has. And there are many voices in Canonical that say exactly that: don’t rock the boat, essentially.

However, perhaps unlike other Linux distributions, Canonical very much wants to see end users running free software, and not just IT professionals. That raises the bar dramatically in terms of the quality of the individual pieces. It means that it’s not good enough for us to work in an ecosystem which produces prototype or rough cut products, which we then aggregate and polish at the distribution level. Unlike those who have gone before, we don’t want to be the sole guarantor of quality in our ecosystem, because that will not scale.

For that reason, looking at the longer term, it’s very important to me that we figure out how to give more power to upstreams, so that they in turn can invest in producing components or works which have the completeness and quality that end-users expect. I enjoy working with strong commercial institutions in the open source ecosystem – while they always represent some competitive tension, they also represent the opportunity to help our ecosystem scale and out-compete the proprietary world. So I’d like to find ways to strengthen the companies that have products under free software, and encourage more that have proprietary projects to make them available under free licenses, even if that’s not the only way they publish them.

If you’ve read this far, you probably have a good idea where I’m going with this. But I have a few more steps before actually getting there. More soon.

Till then, I’m interested in how people think we can empower upstream projects to be stronger institutionally.

There are a couple of things that are obvious and yet don’t work. For example, lots of upstreams think they should form a non-profit institution to house their work. The track record of those is poor: they get setup, and they fail as soon as they have to file their annual paperwork, leaving folks like the SFLC to clean up the mess. Not cool. At the end of the day, such new institutions add paperwork without adding funding or other sources of energy. They don’t broaden out the project the same way a company writing documentation and selling services usually does. On the other hand, non-profits like the FSF which have critical mass are very important, though, which is why on occasion we’ve been happy to contribute to them in various ways.

Also, I’m interested in how we can reshape our attitudes to power. Today, the tenor of discussion in most FLOSS debates is simplistic: we fear power, and we attempt to squash it always, celebrating the individual. But that misses the point that we are merely strengthening the power elsewhere; in distributions, in other ecosystems. We need a richer language for describing “the Goldilocks power” balance, and how we can move beyond FUD.

So, what do you think we could do to create more Mozilla’s, more MySQL’s, more Qt’s and more OpenStacks?

I’ll summarise interesting comments and threads in the next post.

This entry was posted
on Monday, June 6th, 2011 at 8:41 pm and is filed under free software, thoughts.
You can follow any responses to this entry through the
RSS 2.0 feed.
Both comments and pings are currently closed.

143 Responses to “On balancing economic power in the FLOSS ecosystem”

Canonical should really drop the copyright assignment requirements so that more people can feel free to contribute to your projects. Canonical is no FSF and people are still afraid of your power, Mark.

You could pay your own company’s people to work as part of the upstream – then the question becomes whether that’s trying to subvert the upstream instead of helping it… You could contract out work to upstreams, with paid deliverables, milestones? Do they actually want to work that way? Mozilla seems viable without rubbing many people the wrong way, though I doubt their revenue model is generally applicable…

You could try to bolster the number of FLOSS standards, XDG and such, and somehow garner more adoption, helping upstreams compete because they have a good, thorough spec against which to work. Something like what the LSB is supposed to achieve, but that actually works. I love my package management, but sometimes, I wish I could just got to the website, download the installer, and have the program work, without having to wait for Distribution X to have packaged it. Sometimes they have a .rpm, or a .deb, rarely ever both.

It would be a treat if upstreams – open or proprietary – could deliver working software to users without having to go through distributions. Then you’d need a platform that’s a bit more consistent, where questions like GTK vs QT don’t matter anymore. And that doesn’t help you in dealing with those upstreams that are part of The Platform.

“Canonical very much wants to see end users running free software, and not just IT professionals. That raises the bar dramatically in terms of the quality of the individual pieces. It means that it’s not good enough for us to work in an ecosystem which produces prototype or rough cut products, which we then aggregate and polish at the distribution level. Unlike those who have gone before, we don’t want to be the sole guarantor of quality in our ecosystem, because that will not scale.”

It would be easier to digest this paragraph if in the latest Ubuntu releases:

1) A lot (maybe the majority) of visible “prototype or rough cut projects” didn’t come from Canonical itself, particularly the Ayatana project. There is not a single Ayatana project so far that actually implemented all features originally planned when they were first designed. Instead, Ayatana keeps piling more and more projects and leaving the previous ones in incomplete state. NotifyOSD is virtually the same for two or three releases. The Me Menu never had custom status setting as originally planned. I could go on and on.

2) The quality of some upstream products didn’t actually *decrease* due to Canonical patches forced over them. For example, I can certainly appreciate the idea of consistency brought by indicators, but you can’t simply go Soup Nazi on Tomboy and say “no more pinning for you!” without offering any kind of replacement. And you can’t give all sorts of libido fanciness to network-indicator while leaving nm-applet with the limitations of libappindicator and pretend there is a fair competition between them.

Ubuntu does not need to be ideal. But for the direction this blog post is taking it needs to be much, much closer to ideal than it is now. Both as upstream and downstream.

I wasn’t familiar with the Qt example, makes for interesting reading. Qt and MySQL seem to both have something in common, customers. They’re both pieces that other people use to build things with. I think it’s worth looking at where the revenue comes from in these businesses. My understanding in MySQL’s case (although I heard this off the record from a friend) was that the bulk of revenue comes from proprietary licensing, rather than support. If that’s true, there’s a little irony there. Looking briefly at Qt, I’m wondering it the same is true there.

Where is the money made? In the case of distributions, it’s clear. The customer pays for a package. In the case of upstreams, who are their customers? I think that’s the interesting point. To have stronger upstreams, those upstreams need revenue. AFAIK, Mozilla gets it from Google, MySQL / Qt from companies building commercial software on top of their software, distributions from users (albeit business users). How would a project like Gimp generate revenue? Or pidgin, or Novell’s Evolution, or LibreOffice? Selling support to customers is one model, or selling proprietary licenses. What are the others? What new revenue streams have yet to be explored?

There will need to be an increase in the “end-user” adoption in addition to the increase of OEM adoption. The “end-users” will invigorate the demand.

Additionally, the “end-users” will need to be welcomed into any projects in which they may be able to contribute. Not only does this provide the opportunity to further benefit a project, it brings a sense of belonging to the “end-users” as they eventually become part owners in the project. As often mentioned by many projects, contributions need not be in code. People should be informed as to how their current skills may be utilized in a project and how their desires to acquire new skills can be developed within that same project.

I think non-technical users will see the value of free software as it permeates into their own workplaces. Getting GNU/Linux onto more desktops/laptops in people’s workplaces would require a support structure that rivals the current Windows/OSX structure. There are plenty of IT help-desk people available to aid with the basic setup of email and office/productivity applications – the same type of help would need to be provided for a GNU/Linux desktop (currently, these desktops are often isolated to developers and sys-admins). The added value of free software would have to be marketed well (often times the folks making the IT purchasing decisions aren’t necessarily of a technical background – more often, they come from management and need a good argument presented to get them to want to make the big “switch”).

Also, as someone who is back in school (while working full-time too, ugh), there is a great opportunity to further the adoption of GNU/Linux in schools. While free software is fairly common in science/engineering schools, free software is still in the minority. What better place to incubate the next generation of FOSS users and contributors than in schools? Students are usually in school to better there chances of finding good work. Well, if those students know FOSS really well, they can bring that influence into their future workplaces.

Lately I’ve thought much about the need for strong (for-profit) upstreams to help push UX excellence. Compared to server-focused upstreams, I think consumer-focused upstreams are the weaker of the two.

I think the Ayatana focus on the space-between-applications is dead on… it’s a place where free-software (in theory) can innovate wildly, but where proprietary software can’t easily follow, structurally speaking. (As proprietary software can’t easily change both the applications and the space between them in a steady cadence.) Canonical is doing great work here.

But the missing piece is strong consumer-focused upstreams to help Ayatana raise the bar higher. We need a fantastic space between fantastic applications. Right now we have a decent space between mediocre applications. I don’t think much more can be done on the former without starting to fix the latter.

All three of these are unsuitable for a lot of FLOSS projects, such as Ardour or the GIMP.

1. Advertising is only suitable when it enhances the user’s experience of the software (as it does with Firefox and Banshee). Users will avoid irrelevant advertising and developers will use their rights granted by the license to remove it. Even when it is suitable, it can be problematic as a revenue model: upstreams are entirely at the mercy of downstream distributions as to what cut of the revenue they make. Canonical already makes money out of Firefox and Banshee, and the latter was particularly controversial. Barring trademarks, upstreams have no negotiating chips.

2. “Open core” projects restrict functionality under restrictive licenses, making them un-free software, and limiting the open source version of the core restrictively. Dual licensed projects under both open and proprietary licenses often have difficulty attracting contributors and selling copies of the software (witness OpenOffice.org).

3. Selling support is only appropriate for large complicated systems, and I expect end-users of typical desktop application users would not be prepared to buy a subscription for support when they can use the software for free and find community support online. Canonical has tried this model so they have the numbers that probably back what I’m saying.

Sometimes, companies have a vested interest in the success of a FLOSS project, in that case, upstream revenue is not really needed (eg: the Linux kernel).

This is just me thinking out loud, as you can probably tell. I’m not an economist.

As Marco says, finding a way to make money from open source is one obvious solution. But an even bigger way to make it successful is if there is some way for other developers to make money from it.

Since I left Canonical, I’ve moved into doing more web development using things like Ruby on Rails, jQuery, and such. This is a community I’m new to, but I like how it seems to work. There’s a lot of potential for money to be made from the web stack, so people are very active in contributing back to it.

This isn’t a comment that is trying to say “this is how you do it”, because I have no idea how you do this with open source in general. I have no insight into how you might become a paid GIMP hacker. I wish I knew.

I think Canonical has a chance to improve the situation for certain components though, but it may be hard. It’s not out of the question that Ubuntu may get the numbers that make it worthwhile for people to begin writing applications for Ubuntu to sell through the Software Center. If that were possible, then we might pull more people into developing the platform (GTK, GNOME, etc) because it’s a platform for them to make money on. The problem is getting there: it’s kind of a chicken-and-egg problem, where app developers want to develop for a platform which has the users, and the users go to the platform that has the apps.

I realize I’m talking about potentially non-free software here, but it’s not that different than the Rails community. Most people are creating non-free apps using Rails, and many of them are contributing back to the Rails community either in the form of Rails patches or plugins to enhance Rails. I’m basically saying that Ubuntu’s Software Center has the potential to do the same thing for the platform upon which Ubuntu is developed.

if i remember correctly the Mongols had a society in which anyone who appeared to be becoming powerful was killed until Genghis khan outsmarted and organized them after which they became powerful
you can see where I’m going with this

you’ll get my vote after you
A drop copyright assignment
B become fully Debian compatible (strengthening the upstream)

Not very convincing examples. MySQL had to be forked (MariaDB) by its creator Monty Widenius to be saved after its acquisition by Oracle and Qt’s future is clouded with Nokia’s downfall and imminent acquisition by Microsoft.

Dear Mark,
I think you’re going in the old discussion as FLOSS itself: “where’s the money”?
There is no “missing ingredient” in FLOSS that will add money to the mixture.

Just go back to the principle of goods and services exchanged for goods and services received.
Just how much labor is involved in making a copy of a program? that’s next to nothing. So it’s just that a copy should cost next to nothing.
When the farmer sells his fruits, he’s not charging the work of water,soil, wind, sun. He’s
only charging his own labor that went into it.

So what is there to sell? updates, customizations, and support, there’s nothing else.

In my view this post is suggesting each open source project could be a company that sells customizations and support, but not every project has got a market for services.
Moreover, making a company out of an open source project destroys exactly the benefit of
the open source development model: “each user improves the program for himself.”

This will all be over when, one day, computers will be programmed in plain natural language, then everyone will be a programmer

Recipes are software (literally). Cooks develop recipes with a FLOSS development model They don’t think of getting paid for writing the recipe

All I know is that “Unity” appears to be a canoe running the river without a paddle. Perhaps it has one, but the person using the canoe can’t find it.

Suddenly a strange foreign looking paddle pops out from the left side when the passenger accidentally rests his his hand on the gunwale. In a weird quirk, a message on the paddle says to hold onto the blade and paddle with the knob end in the water. Before he has time to grab it, the weird paddle disappears as quickly as it appeared.

The canoe / paddle maker named Shuttleworth is standing on the bank upstream. He shouts out to the stranded boater, “Your boat is newly designed. The paddle is very special and represents progress. It is the modern approach to paddling. The old fashioned paddles took up too much space on the boat. They moved too much water, and made canoes too easy to guide.”

The unfortunate crewman is hopeful that a more traditional boat will come from upstream to save him, because he realizes his canoe named “Unity” is rushing rapidly downstream toward Victoria Falls with no viable way of guiding it.

Suddenly the canoe’s designer, Shuttleworth, is snagged by one of the loose ends of the mooring line attached to the canoe. All are pulled downstream and sucked over the falls. They all come to a very unfortunate end.

> I often find people saying “I would help an institution if I thought I could trust it”. And I think that’s a red herring, because just as power will be abused, trust will be abused too.”

And it will be lost instantly, leaving only bad feelings and disappointment.

When you stop trusting someone/some organization you used to, you don’t just go back to the state “I don’t trust them”, you go way lower to the “those bastards betrayed me” state.

As such, I agree with you that you might not need to trust someone before you can help them. Or at least you don’t necessarily need to **know** whether or not you can trust them. But I strongly disagree that if you actually know that your trust will be abused, you can pretend it doesn’t matter and still contribute.

There is a huge difference between “I don’t know, perhaps they might do me harm?” and “I know they will, they told me”.

I sincerely hope it’s not what you meant, but if it is, thank you for clarifying that you are in the latter camp, it certainly will make future decision much easier.

Mr Shuttleworth,
I have been an enthusiastic Ubuntu user since Feisty, but am now greatly disappointed in the direction that the very best distro is taking — toward lack of choice and a very poor interface. I believe that one of the very major ‘bragging points’ of Ubuntu has been that one could choose which desktop environment to use – now, if I’ve read correctly, Ubuntu will end the users’ ability to choose & all will be obliged to use the Unity desktop. A very bad choice, that! Looks mostly like a clone of the Fedora desktop & in my opinion is much inferior to Gnome. Is there no consideration at Canonical, or by you yourself, with the preferences of Ubuntu end-users? Or is this a power thing; you, Canonical, and the development team have all the power – and, now, seemingly have decided what users wish is immaterial… I presently have Debian 6 Squeeze and Fedora 15 Lovelock also installed on my Linux box: mostly favour Debian because it uses the Gnome desktop, don’t much care for the Fedora project’s desktop and haven’t really sufficiently figured out the quirks of it’s command line protocols, yet, for a really fair comparison. However, I can say with certainty that I truly HATE Unity and will never want to use it if there is any alternative, at all. What I really wish to get across is, please restore the “choice feature” to Ubuntu, make it a non-delete-able feature to the best distro there is; by all means, have Unity as one of the choices. But, please do not became a Microsoft clone, telling end-users, ‘here’s what we have available; now either use this or get lost’. No doubt, many will disagree with me, many will agree & may or may not post. So be it. I very much hope that I will not need to switch to some other distro, in order to find a comfortably usable Linux — Ubuntu has been & I hope can remain my OS of choice. Sincerely, G E Noon

@Joe: If you don’t understand how the unity “paddle” works, please use either another paddle or get into another canoe if you like. It is not Shuttleworth standing on the bank shouting instructions for you, it is your friend shouting for you to get out of the water because you are embarrassing yourself. Shuttleworth is in a similar canoe rowing effortlessly way in the front

Mark has made some very important and compelling points in this post. Something that I think many people in the FOSS world do not realise, forget, or simply ignore, is that consumers don’t use operating systems, desktop environments or platforms — they use products. While FOSS projects are often technologically impressive and provide many advantages to users, they are seldom productised (for consumers, enterprise is a different matter). This renders them all but non-existent to non-geeks/hobbyists.

Android has not been the major success it has because it is great software (though it is), but because Google was able to build momentum for it by working with OEMs and integrating their services with the platform. So the Samsung Galaxy S is not an Android device or a computer running a great OS, it is a compelling *product* that packages a whole set of services and experiences. Desktop Linux can be as user-friendly and beautiful as it wants to be, but without compelling hardware/software/service product packges I don’t see it gaining traction. This is why Canonical’s work with OEMs is so important (though not very successful), and why I find free software advocates bickering over Ubuntu not contributing enough back to Debian or Gnome so exasperating.

Though Canonical and the Ubuntu community it supports have done fantastic work in making Linux more consumer-friendly, I am very sad that a big opportunity in touch-based devices was missed. There was much talk of Ubuntu Mobile some years back, but that ground seems to have been ceded to iOS and Android. Perhaps this was never realistic without the sort of massive (and focused) engineering efforts that Apple and Google were able to muster. And the difficulty of succeeding is illustrated by the near-implosion of MeeGo (whatever happened to Ubuntu Moblin Remix?). I still dream of an Ubuntu tablet that does not lock me in Apple-style, but has the kind of developer ecosystem that generates great experiences. But I no longer hold out much hope.

If you want Power imitate The Borg Collective and assimilate around a core. This strategy seams to work wonders for Apple.
Mozilla, MySQL and Qt derive A LOT of their power from being available on the 3 major platforms. They fill a cross-platform role.

So, if you want the same kind of power, create a CORE around a virtual system and start assimilating FLOSS projects into it. Use Cocoa (Foundation+AppKit) as inspiration design for the system. Provide easy access to dynamic languages (Python, Ruby, Lua, etc.). Make the Core available on the 3 major platforms (Ubuntu, Windows, OS X). This process will FORCE simplicity on the Core. Build a bunch of apps against this core (think iLife). Have 2 small teams of DESIGNERS. One for the exposed API and one for the UI. Hire insane people for these 2 small teams. Make Simplicity a Prime Directive. Have the main use-case for the core the following phrase: “A lone developer wants to create a kick-ass, insanely beautiful app available on all 3 platforms.”

Use the 3 steps approach to development: 1. assume you suck; 2. figure out why you suck; 3. suck less.

Use nonviolent communication to distill the needs of the developers: clarity, consistency, simplicity, beauty, etc. Find strategies to fulfill them all. This is very challenging when you view the situation from different languages perspective but I believe that solutions can be found.

And if you do this, the Power will be with the Core’s ecosystem of apps. The power you funnel into the Core will be multiplied by the ecosystem.

Google is (kinda) trying to do this with Chrome but they are betting too much on the net.

Anyway, I’m not holding my breath for this to happen. It takes too much leadership and courage for this to happen.

I agree with you Mark.
I may add that the main point we have to keep in mind when promoting “power” in FLOSS is that, despite all we can do and what can be done, FLOSS has to remain… fun.
This is the problem with those unavoidable abuses, if they are too much you just kill yourself (Oracle & OO.o, Oracle & MySQL, Oracle & * …)

I think the Gimp example is a very good metaphor. If we found a solution for it, it may be extended to many other similar projects which are currently to weak.

If you want FLOSS (and so Ubuntu) to be strong, you also need the Gimp to be strong by itself.
So, it would be indeed great if a company wanted to back this project, but it’s easier to say it than to do it.

Well, you could fund such a company (independently from Canonical).

Of course you can’t fund every project, but this is what we really need: investors who do believe in FOSS (and who do realise that “investing” is not the same as “appropriating” in this world).

“No one was fired for choosing IBM”. You need to be a reference, and I think Ubuntu already is it, at least, in one market: FLOSS Desktop.
Is this market the right one?.
Who can pay your services and who is closer to him?. Keep in mind any partnership or strategic agreements.
Key is to imagine a product / service as if Ubuntu was a third party. Then all the benefits of being “Ubuntu” is transformed into speed.

In the ideal case you don’t bind power to one company, to one person, to one entity. But enable all developers and there partners to decide together. Keeping the hackers and there partners happy with the direction the project is taking is the only important thing.

Just because one participant, e.g. a distributor, has a special interest doesn’t mean that the whole gang has to agree and apply that. This is where the classic business-model is not working. As company you cannot just participate and expect that all your interests rule over others. As soon as you enter a level where the community works you have a new management-level on top of your own guys.

Now why would the community be so stupid to give all that up? Why would they move the decision-making to a single partner and kick out all other partners and community-members on the way? That’s exactly what Contributor Agreements are about: moving the power from the community to a single partner. Sounds for me like a perfect way to kill the community and it’s other partners on the way.

@Flimm: Mozilla may make money through advertising, but much like the ASF they have substantial revenue through corporate sponsorships.

@Mark: The thing with lots of small non-profit institutions is that many people fail to understand that a non-profit needs to be run in a somewhat similar sense to a company, except with a different business model attached to it. Running it like an upstream project with a revenue stream attached to it just doesn’t work that well. That’s what Mozilla and the ASF have realized, and why they work well.

One way to help upstreams with this dilemma would be to have an umbrella foundation that specializes in diverting revenue to its enclosed projects. The ASF, for example, does that but places rather strong restrictions on how each project within the foundation is governed. The trick would be to find a more balanced solution, that lets small projects join easily and with little fuss.

You also mention iOS and Android as successful platforms; both have their problems. But both have reached some form of popularity by providing a built-in app store, that is, a means for individual developers or small groups of developers to at least try and get revenue. I could imagine part of canonical’s upcoming appstore thingymajig to be the gateway to empowering upstreams financially at least, if there’s a “donate to this project” button, and the donation is diverted to the upstream project.

There are a few major drawbacks to that sort of setup: for one, app stores function intrinsically as gatekeepers in the same way that distributions do, which effectively strengthens the distribution’s power rather than the upstreams. In practice that means it’s the distribution that can and will decide which upstream projects get promoted.

App stores make an attempt at basing this not on editorial decisions, but on metrics such as downloads; these metrics are, however, flawed and create skewed markets where power tends to consolidate even faster than in offline markets. They are then, perhaps, a step in the right direction, but still need some serious thought.

An interesting beginning to an important discussion, but I was hoping that after taking inspiration from the federalist papers you would make an initial structural proposal that lays out more concretely what you would like to create in the FOSS ecosystem.

Clearly software that is backed by an organization that can pay salaries will have a higher likelihood of better documentation, testing, bug vetting, and consistent, incremental improvements. In the FOSS world people don’t always work for money though, so while it is important I think it could be short-cited to believe that introducing more companies into the equation is the solution. The primary motives for many people to take part in open-source projects are to feel like they are contributing to something greater, gain experience in something larger than a personal project that many people could end up using, and feel the respect of peers who they appreciate and admire. I think this is a powerful force that is just barely tapped as of yet. Bringing a social aspect to the linux world could do wonders in this regard.

Imagine if contributors who fix long-standing bugs or make much appreciated contributions could be highlighted? Maybe the software update center could show a picture and have a short article or something about different people when updates occur. Projects could and should compete on how many users they have, the design and ease of use of their software, and the quality of their documentation. Developers, designers, and documentation writers need a forum in which to interact. If, for example, a designer who wanted to show there skills and gain some notoriety could check a site to find documentation that needs improvement for various OSS apps, then I bet they would like to contribute. It would help their resume to have “real” apps that they have contributed to, and it would get them connected with potential clients and collaborators. Users could be made aware of these kinds of contributors also.

Users could vote implicitly by installing and using software, or explicitly by assigning points to projects or bugs. Everyone would get some number of points, and then through contributions you could earn more, or maybe through a market place by purchasing points. The money from this system could then help fund the ecosystem.

Regarding money, there needs to be a straight forward way to contribute towards efforts you want to support, and also to earn money out of the pot when you help on a project. Introducing money into volunteer projects can be risky, but if done in a way that was efficient (low transactional overhead) transparent and open I think a large ecosystem of students, volunteers, hobbyists and many others could live off of such a network.

Peter’s “borg collective” approach in the comment above could be a good strategy. The tension, however, is that the power of the OSS world is in its breadth and diversity, so trying to get everyone to circle wagons around a central set of foundation libraries could be like herding cats. That is, unless they are of such high quality that it would be stupid not to use them. (Qt could have done this if they had used a good open source license from the start.) Years ago I was hopeful that the gstreamer project would create a powerful center of gravity to support a rich ecosystem of audio applications in Linux. The architecture seemed rich and capable, and there were many people getting interested. The problem is that high quality (as in you could perform with it live or create studio albums) audio in Linux requires Jack-like performance, and gstreamer was trying to be both capable and user-friendly. Instead it seems it was not good enough for people who really wanted top quality audio and too difficult for people who just wanted to play an audio file. This is still an area that is ripe for the OSS world, especially since commercial audio packages cost so much that most people who are interested in making computer music can’t afford them.

@Callum, @Flitt: You’ve forgotten a really valuable open source business model: do stuff with the software, and make money off that. Use the proceeds to feed the project R&D.

Some examples:

* The Blender Institute raises money to produce films & video games, and also does a small amount of paid work, using Blender as their preferred tool. They work with artists & developers to improve the software for the work they do.
* Arduino boards sell, with the Arduino software on there, and these sales fund further development of the software
* Intel and Nokia fund oFono, Sofia SIP, bluez, ConnMan, SyncEvolution, etc… because they need the software for devices. Device sales pay for software development.

So, to take that and apply it to Ardour and the GIMP, Paul Davis does make money off Jack & Ardour (not much, but a little) by being an audio experrt and having the tool he needs for his job. He then pays for Ardour development from profits. The GIMP developers could conceivably start a graphic design shop, doing great work, and using the proceeds from the graphic design to fund features they need to do more work.

In addition, the GIMP is in a great position as a project with a direct relationship with millions of their users on Windows. They’ve never really tried to monetise the relationship, but there are a number of ways they could do that – ads in the splash screen of the official GIMP, selling plug-in/brush/pattern/etc packs (created by the designers & developers using & running the GIMP), etc.

In short, if you can do cool stuff with the software, sell *that*, and use the proceeds to improve the software and make yourself more efficient.

The concept of a philanthropic bubble is very insightful – market distortions generally cause problems, and investors willing to move mountains can often turn out to be distortions in the market which crowd out smaller, better ideas.

It’s true that the decision to put Ubuntu on the market at zero cost was a dangerous and radical one. However, it was based on the view that the trend for pricing of most software was taking us to zero, on the basis of new business models around advertising and services. Android is the key example: it’s excellent, it’s more open source than any big platform before it, and it’s free of charge from the producer.

So, from my perspective, the model we adopted with Ubuntu is simply accelerating the normal economic trend, and therefor not a distortion. Ubuntu may or may not survive, but Android is already in a very defensible position and unlikely to change its model. And there’s nothing philanthropic about Android :-).

On another note, you talk about artisan distributions as a healthy thing. From almost every perspective other than the learning process of the developers and the opportunity to do rapid prototyping and innovation, such distros are neither economically sustaining nor constructive. They make a fragmented Linux landscape worse, they do relatively little in the way of security updates and they struggle to get beyond their core big idea. Even the process of hardening itself can be a morass: consider the efforts to move a German city to free software, which struggled along trying to harden their own distro for many years before deciding to use Kubuntu. I am not suggesting Kubuntu is perfect, I’m just saying that project’s time is better spent on what they can do that’s really specific to their users.

It depends whether you think you are contributing to an organization, or to a healthy ecosystem. I think of it as the latter, in which case, the twists and turns of any particular organisation matter less. Keep multiple strong and competing organizations in your ecosystem, and you will do better than having a few weak ones. You may not like them, but they will work hard for you.

Pretty much any institution or political party or group of human beings goes through cycles where it is more or less likeable. Leadership changes, times change. I like RMS and the FSF a lot but I would not be surprised, nor would I feel betrayed, if it behaved very differently in 20 years. That’s how humans and human-based institutions are. So, there are firm limits on trust for institutions, but at the same time, I think competing institutions are necessary to have a strong ecosystem.

“Balance of power” is not the same as “handing over all the loot”. We could of course keep all the loot, but we *always* try to share a reasonable percentage with the other players in the ecosystem. In your example, we approached Banshee on the same basis as we work with several other organisations. We have as much right to put our own affiliate code on software we package as they do on software they distribute, as does Mint, who derive some bits from us. If we’re a strong conduit for Banshee, then we’re valuable to them regardless, if we’re not, it’s irrelevant.

A company with direct commercial interest in a project like GNOME would probably be very good for the quality of GNOME itself. There are already calls to launch a ‘GNOME OS’, which would mean the GNOME project would become a distributor themselves as well. If we’d imagine the GNOME Foundation to be a commercial company wanting to make a profit, at first glance it seems that it would be the smartest choice for such a company to go along with the GNOME OS plans. Then they would have a product that would be completely their own and they could control every aspect of it.

However, when you look deeper into it, developing their own OS does not look so favourable for GNOME anymore. With full control over their platform also comes the responsibility to maintain it. At the moment the GNOME 3 demo CD/DVD is based on OpenSuSE. This means that most of the integration work is done by a different project, for the purpose of delivering a good OpenSuSE distribution, not a good GNOME OS. It seems to me that this is worse than the work Ubuntu would have to do to take parts of an integrated GNOME desktop and use it alongside Unity.

Yes, GUI elements need to be integrated and the desktop should display cohesion and behave consistent. However, that can be done more easily than taking elements of an integrated distribution. A GNOME OS that needs to use (parts of) a distribution’s platform would be worse of than a distribution that would have to do some work to integrate the applications of a GNOME desktop project.

I believe that it is in the interest of GNOME to work on a desktop that is tuned to deliver the best experience by itself. Taking the desktop and putting it on top of a layer of plumbing can be left to the distributions. Focus is good.

At the moment we see something interesting going on in GNOME: though the GNOME Shell had many RedHat employees working on it–they sell a desktop, so have interests in making it good–a lot of the frameworks of GNOME and applications like Empathy are developed by ‘consultancy’ firms like Collabora, Openismus and CodeThink. They do vital work and have commercial interests in their work, since they sell their experience and fluency in the GNOME technologies they work on. This is a good thing, but on the other hand it does cause fragmentation.

Like I said before, focus is good. Consultancy firms and RedHats have got a good way to make a living out of developing FOSS desktop software, but they all have their own interests. GNOME is a non-profit with many different parties pulling its limbs in directions that sometimes align, but often are opposite. Because it lacks strong leadership it depends on the whims of strong individual developers, but mostly on that of the several companies involved in the project. When one company, in the case of GNOME Shell this was RedHat, has most of the control over a subproject, there is focus. Then something good comes out. But when that is not the case, there is no clear direction, cohesion is lacking.

This is a vital weakness in the fabric of GNOME. It needs to have a strong, unified backer. Although I would never say that the different companies involved should back out to leave the work to one big player, I do think that it would be good to have something like a GNOME Ltd to take the brunt of the development and design work. It could then sell its services to other companies who want to use elements of its work, like Nokia once did. It could also sell its services to the likes of Canonical and RedHat, to help them with integrating GNOME into their distributions. Maybe the consultancy firms could merge?

Of course, there is the downside that a large majority GNOME community probably would never want to turn away from a non-profit into a for-profit. The GNOME Foundation probably wouldn’t want it either, considering they would cease to exist or change so radically that many people would be displaced. How to solve this? People who really believe in this could try to persuade the community and maybe we’ll get there via a very slow and cumbersome process. The best chances here seem to lie in a merger between the different consultancy firms and parts of RedHat and Novell, with consent of the Foundation. To me that seems to best way to get a workable, good company behind GNOME.

Interested parties could choose to ignore the wishes of a community that does not want a company and found one anyway, alongside existing structures. However, that would not give you control of anything the Foundation currently controls. Furthermore, ignoring the community at such a fundamental level is very, very, very bad. We would get another OpenOffice.org/LibreOffice situation, with the difference that there already would be a foundation. Such a company would fail to attract the currently vital developers and it would be despised.

If this doesn’t work, Canonical itself could choose to take matters in its own hand. It would get a bit painful for all parties involved at first, though. It would create a new company, completely separate from itself, place Unity there too and a part of its GNOME staff and the Design Team. That company would then go on to develop an upstream desktop based on Unity and parts of GNOME. Canonical (and with that Ubuntu) would be a customer of this new company that would go on to work together with GNOME. While the new company could focus solely on delivering a very good desktop and earn its money with consultancy work, Canonical could focus itself on a few core businesses.

It would take away a vital and vibrant part of the Ubuntu community and Canonical. It does not seem very desirable to me, but it would be a way to forcefully expand the ecosystem.

I have spent twice Ubuntu’s lifespan working in non-profit organizations to help make them better. No upstream is perfect, but non-profit upstreams — FSF and Debian in particular — have brought about the codebase which Mark builds his company. His attacks against these non-profits in his post above are therefore simply disingenuous.

I was responsible for making sure FSF filed its annual paperwork for 6 years, and it always filed accurately and on time. I know that’s still the case, as I oversee that work now from the Board of Directors of FSF. The other non-profit I’m responsible for — the Software Freedom Conservancy — has done the same since its inception. So has the The Perl Foundation, SPI, and dozens of other successful non-profit organizations.

Frankly, Mark’s statements are a personal attack on those of us who work so hard to keep Free Software non-profits running. It’s a difficult job, but one we do willingly for the betterment of our community. I find it quite odd that Mark has selected for his target people who dedicate their lives to very little pay (or often, no pay at all!) and who do their best to make the world a better place.

Finally, note that FSF has existed and been in active operations since Mark and I were 11 years old. For years, FSF employed developers to write the code upon which Mark now builds his business. If they hadn’t done so, Ubuntu wouldn’t exist. I also don’t see Mark stepping forward to fund all the development for Bash, GCC, or any other core piece of his operating system’s infrastructure.

Perhaps you missed the part where I gave a firm nod to the FSF, saying that as an institution which DOES have critical mass it does a lot of good. There’s nothing in my commentary that is critical of the FSF. However, you well know that for each FSF we have several hopeful non-profits setup every year which then fail to take care of the basics.

@Bradley: I’m sorry to hear that you felt personally attacked. As a member of this community, I think the community (and Mark Shuttleworth) really appreciate the work non-profits such as the FSF and Debian do.

I don’t feel that this blog post is an attack on the work that they do well, rather, it’s a call that more work needs to be done by Canonical and Ubuntu and all of the open source system. It’s an invitation to allow companies to make money by contributing to open source desktop OS. I can’t see how that’s insulting to non-profits, surely, the FSF wants more companies to be involved in free software?

People like yourself want to make the world a better place by spreading free software. I want to see a better world where people like yourself don’t have to to be underpaid or unpaid to make that happen.

1. I trust Mozilla more than i trust Canonical/Ubuntu
2. Ubuntu is not a great OS (lol), is/was a great idea until Unity.
3. windows Xp has 40% market share that’s a nice reasonable target… don’t go after windows7/MacOS (LOL)
4. SLOW DOWN! ubuntu is moving to fast! in all directions!! it’s unpredictable, buggy, etc
5. Hire some good graphic designers, double the number of developers working on the software center
6. Follow the history of Apple … post 1997 and then forget about it, because Canonical is not Apple and you are not Steve Jobs.
7. fork gnome (kidding)

@Mark – You said “On another note, you talk about artisan distributions as a healthy thing. From almost every perspective other than the learning process of the developers and the opportunity to do rapid prototyping and innovation, such distros are neither economically sustaining nor constructive. They make a fragmented Linux landscape worse, they do relatively little in the way of security updates and they struggle to get beyond their core big idea. ”

If you were concerned about “fragmenting” the Linux landscape, and thought that artisian distributions were neither economically sustaining, nor constructive, why in the world would you have forked Debian to create Ubuntu which in it’s first few years was also considered an artisan distribution?

@Fewt – I don’t think Ubuntu can be considered to have ever been an artisan distribution. It always had the backing of a company (canonical) with the resources to pay people to support it at least for the foreseeable future. Actually Ubuntu is making a good case for Mark’s argument. I don’t think Ubuntu would have been as successful if it did not have the backing of a company. There are probably many Debian artisan derivatives but none has enjoyed the same success as Ubuntu.

@stapel – Except that artisan doesn’t mean free. The argument you make that Ubuntu would not have been as successful if it did not have corporate backing is equivalent of arguing that Debian would not be successful if it did not have corporate backing. Debian does not have corporate backing and it is quite successful. Further, it was claimed that these forks (err artisan distributions) are not constructive, that is counter to Ubuntu’s success as it started as a fork (err artisan distribution). The statement Mark makes implies that there is no value in forking, or remixing Linux distributions other than for learning, and prototyping (which includes innovating) which is sort of funny since that’s exactly what Mark (and team) did in 2004 (https://lists.ubuntu.com/archives/ubuntu-announce/2004-October/000003.html).

Forking and making an interesting new distribution is a wonderful thing to do. Lots of good things have come from people doing that. I was addressing a *different* point, which was the suggestion that making custom distributions is a nice business model for lots of small companies. I.e. the suggestion that it’s a good thing that small businesses all around the world can make custom distros for projects like the Munich migration.

And that’s where I think there’s a real problem. All of those custom distributions are neither intellectually interesting (they don’t add any new technology, unlike things like rPath which added very interesting new tools like Conary) nor are they commercially viable (they all end up trying to solve similar problems in different ways, they make developers lives hard, and they usually fail to provide any realistic stream of security updates).

The best analogy was Plone. Plone was a nice CMS that let you get *something* up and running quickly, but it was then a lot of work to evolve. So there were TONS of little companies making a good living off Plone, and they had no incentive to make the core more maintainable or extensible, because their business model depended on that being difficult and necessary for their customers. For a while it worked, but then customers got tired of having to overpay for basic improvements, and newer tools took off.

Yes, Ubuntu is divergence from Debian (though we work hard to manage that divergence for the benefit of both sides). But consider the way Ubuntu is different to Canonical making custom Debian derivatives for each of its customers. Ubuntu is different from 50 shallow derivatives for different companies. It’s something that lots of others can use (like Mint, for example).

“Users could vote implicitly by installing and using software, or explicitly by assigning points to projects or bugs. Everyone would get some number of points, and then through contributions you could earn more, or maybe through a market place by purchasing points. The money from this system could then help fund the ecosystem.”

As much as I agree with the sentiment in principle, this sort of direct feedback loop inevitable creates a situation where software with more exposure gets more exposure, and software with less exposure stays there. In other word, the head content gets more cemented in its position, while the tail gets longer and flatter.

This is exactly the sort of situation Mark wants to avoid, as far as I interpret it; the consolidation of power.

I don’t think that users influencing the way upstreams are rated and/or reimbursed is wrong per se, but this direct feedback mechanism is quite broken, unfortunately. As far as I am concerned, that’s an unsolved problem at this moment.

@Mark – Fair enough, thanks for clarifying. I don’t agree that they aren’t intellectually interesting though. I do agree that they aren’t typically commercially viable, and (as a maintainer of such a creature) I also agree that they can be very hard to maintain without a large enough team behind them. In my mind one of the keys to success is maturity of process, and procedure, and a focus on testing on the front end rather than trying to make it fit later which is what I have sometimes seen.

There are many instances of custom distributions introducing new technologies, though most are made to simplify and wouldn’t be considered core. Mint, Fuduntu, Jolicloud, and Bodhi are the first examples that come to mind.

These custom distributions are all based on a parent like Debian, Fedora, or Ubuntu which have one or more pieces of custom software that doesn’t exist upstream for any given reason.

Mint offers their own menu applet, a custom update tool and a lot more. We offer Jupiter, and a few other small innovations to simplify the desktop experience and help rapidly work around problems. Jolicloud has a complete user interface, and Bodhi is innovating with .bod.

There are a lot of cases were custom “distributions” are just new themes, and a new package set, etc but those should be classified as respins not remixes or forks.

I don’t think that in any of these cases this fragmentation is harmful since the source is always available, and working close to the source allows more people to find and fix bugs that distribution builders upstream may never otherwise see and fix.

1. Upstream projects need to care more about standards and end user usability. For example there are still few projects which support the Freedesktop.org config spec (XDG_DATA_HOME, etc.) espcially GNU, XORG, SSH, libpurple seem to ignore it.

2. Upstream projects need to invest a bit more in a good website to market them selves, and explain users what there programs are all about.

3. Make it (even more) easy to participate for individuals. Even today it still takes a lot of experience to compile popular programs such as Xorg, Wayland, or the Gnome suite.

4. Upstream projects should make more use of common software engineering principles and document their software better.

1. Donations – not working in reality. Who ever donated 300 bucks for an office suite or graphic software. Shame on us.

2. Sponsorship – doesn’t seem to work for enduser projects.

3. Entrepreneurial business models – Mozilla is a good example for that. The build a product, with a revenue stream inside (Google-searches). They question is, what possibilities are there for building revenue streams? Could you bundle Gimp with some certain piece of hardware. In which way could you add value to the customer – yes customer, not user?

Power should be understood, as best as is possible at any point in time, in order that it can be balanced. Power is influence – the ability to produce effects on the actions, behavior, etc. of others. While funding is a compelling and unquestionably effective way to achieve this, it is not the only way. In the FOSS ecosystem, funding exists alongside other mechanisms of influence such as working code, contribution history, trust, number of users, etc.

GNOME and KDE have traded power/influence over the years and, to your point on the balance-of-powers, a more powerful KDE has almost always resulted in a better GNOME and vice-versa. I can’t imagine a case where GNOME being made worse-off made KDE better.

The merits of the balance-of-powers in advancing the productive output of the FOSS – productive output here measured both by the solutions produced AND the adoption of those solution by their intended audience – will necessarily depend on a very clear understanding of power and how it works within the FOSS ecosystem. Some companies wandering into the FOSS space from the proprietary space, wherein power is almost entirely measured by capital, inevitably struggle with this transition.

I sense in this blog posting a suggestion of potentially more effective ways for FOSS ecosystems to take advantage of funding/capital. I also wonder if you might also share some insights into ways for companies to more effectively incorporate existing FOSS mechanisms of influence as they wonder into the FOSS space. The desired result, I assume, is a new synergy not previously expressed. I’m certainly looking forward to your follow up post!

I agree that our thinking tends to the simplistic. We abhor corporations but glamourise startups that aspire to be bought out by those corporations. We trust in a fatherly Google to foster new blood in GSOC that we can’t afford to do. How many startups have lastingly pushed the balance of power toward the FOSS community, and how many end up bolstering the corporates that buy them out? How much of their innovation goes upstream, and how much stays serverside, never distributed and so not obliged to be shared, and not able to be adopted and evolved?

It’s far from clear that non-artisan distributions who do have a commercial backer are any more commercially viable than artisan distributions. How many linux distributions backed by a for-profit entity have shown they can be commercially viable? We’ve seen many many such linux distributions come and go over the years. How long could linspire could have operated if they had access to the investor capital that Shuttleworth is pouring into Canonical year after year? How long could caldera could have operated with that sort of capital? Having a for-profit entity managing a distribution and having investors willing to sink money into that for-profit entity over a decade timescale before seeing a return on investment does not guarantee commercial success for that entity nor does it guarantee a sustainable project. It did not guarantee it for all those for-profit entities that came before Canonical and it does not guarantee it now.

Ultimately, no matter what organizational model is chosen for any project..for any entity… sustainability really comes down to how well the management team understands the chosen model and how well they execute their management plan. It’s just as hard to build a successful for-profit business as it is to manage a successful non-profit corporation. If you don’t have the right people with the right skills in the right roles your entity with flounder…without there being an obvious lack of vision, passion, or trust. You can have all of those things, and still be bad a executing a management plan.

I think the best way is to sell a computer that tights together hardware and software. Like Apple does and then invest in the upstream projects that can’t find a way to make revenues by their own.
You include the cost inside the hardware you sell.

But you don’t have to sell a computer with linux like Dell or Asus do. They just ship a computer with windows or if you want, as an alternative, with linux…that is presented like a cheap and poor alternative.

You have to sell a cool computer with a new brand, that is not just a new logo. Something that shows quality and it’s worth its cost. Not something that is proposed like: it lets you save $50.

I think both of you should find a nice patio somewhere, sit down, and just have a beer together. Let the conversation go where it will. I read both of your blogs regularly and I think an exchange of ideas between you guys would be of benefit to everyone.

Let me share some my observation from the point of not active contributor (yet) but silent supporter and fan of FLOSS.

1)
For few months, apart from learning CS and HCI, I teach two kids how to safely and creatively use the Internet and computers. Recently we’ve installed the newest Ubuntu for older of them – he’s 12 now. We met some rough edges (I was only providing some guidance, the lad did most of the job himself), but he’s geeky sort and didn’t like tinkering. Anyway, his first is reaction with Unity was like: Whooah, I didn’t know that Linux is THAT much better than Windows. It’s so cool.
A week later, when I asked his two year younger brothers if he would like to try Linux too (he still has much less confidence with computers) he met my question with huge, round, sparkling eyes and murmured: I didn’t know I can have this too!
I do respect longtime linux users and their criticism of latest changes. But to be honest, these kids are speeding to become the future, when all those whitebeards in their 30-thies or late 20-thies tend to become fossil sooner they realize.

2)
With 1-2% of desktop market share (further divided by few environments) and more savvy users Linux has freedom to experiment with UI that other OSes can exercise. This weakness is the greatest strength, you can do the same as Apple did before MacOSX 10. I can’t believe how conservative part of linux community is when it comes to UI innovations. New dock here shadows there, new theme there and better multi-screen support are not real innovations. They are improvement of the same 20 year old windows that you can switch between, minimize, resize etc, etc. It’s not better with internal kernel design: huge monolithic kernel that no one can fully understand. And I can’t just plug my smartphone or laptop to use my favorite apps and customization in secure (both ways) fashion, levering it’s hardware with desktop or server power.
I am not sure if commercial distributions can find courage to surprise their users, especially if it comes at expense of legacy compatibility. This point of view I found missing in Mark’s excellent otherwise post.
3)
It will be impossible to boost Linux adoption on desktops without competitive stack of applications that desktop or workstation users need. While browsers, email clients and multimedia players do meet expectations IMHO, office suite and GIMP just doesn’t compare with their proprietary competitor. I say this as users of both LO and GIMP. But let’s face facts, LibreOffice is comparable to MS Office 2000 at most with its functionality and interface. That is to suite that is 10 year old. Gimp or Inkscape are unusable to any even semi-professional publishing without working CMYK colorspace and ability to create ps or pdfs suitable for high quality printing. Nor is it user friendly for someone willing to just make some basic retouche of their holiday photos.
I really doubt that without strong, polished and complete average-user application stack Ubuntu (or Linux in general) can win much more desktop adoption.

4)
Micropayments. What FLOSS or CC community needs is literally one-click donation system. It doesn’t need to be much, even 50c for person can sum up nicely when millions keep donating it.

The problem with opensource is that as soon as it’s released, the value drops. The trick is to treat the users as investors and not as consumers, you need to get their financial support before you release the software. Bounties (I have yet to see a company that gives that idea a serious try) and donations (a lot of projects work with that) are two concepts I am thinking about.

I have one more (slightly tendential) point to make: However upstreams are funded, unless distributions can find a substantial audience, there will not be enough revenue to go around. This is especially the case with desktop environments like GNOME and Unity, who depend on reaching consumers for even the possibility of a viable business model to exist. At the moment, the technologies are being evolved very quickly (e.g. GNOME Shell), but the products have little chance of serious adoption. Why? Because the number of people who would consider downloading and installing an operating system is minuscule.

So, what I am really curious to hear is whether Mark believes that evolving Unity to the point where it is the most interesting and dependable desktop UI would be enough to reach the “next 200 million users”? I very much doubt this is the case. Canonical does not have the capability to bring compelling computing products to market à la Apple nor the market power to get OEMs interested beyond a few (rather pathetic) experiments like the Dell pre-installs and perhaps an Eee PC model. Compounding all of this is the shift away from the desktop as the core of people’s computing lives. Soon, what will matter most is who has your data and can provide you with easy access to it. If your mail, contacts, music and documents sit on Google or Apple’s servers, what chance does a small company like Canonical have to grab your attention?

This may sound overly negative, but I really believe totally new thinking is required if the brilliant work done by Canonical and non-Canonical developers on Ubuntu and its upstreams is to have a significant impact on the computing landscape.

Well, for one you can help us create a “Varnish Software”, perhaps. Let me explain.

Mark, First off I really like the point you make here, which is basically bringing a market-driven approach to the way software is developed, be it open source or not. So what does a market-driven project look like? Well, it could easily be described as a project creating a product that meets demand. So you could say that it is demand-driven.

The problem with many projects in the FLOSS world are afraid of acknowledging the need for sustainability: People create software. And people have a mortgages, significant others, next of kin, kids, dogs. And they all need a roof and food daily! As in everything in life you create something and you get something, and suddenly we have a deliberative democratic, capitalistic society (at least in some places). So if you want to create software for a living you need to get paid for your work and if you want to create free and open source software you need to be creative in the way you get paid. Once you achieve this, you achieve sustainability for your project and yourself.

Varnish Cache started as a programming engagement for 6 years ago for a media company in Norway. It was open sourced right away and it has gained customers ranging from moms&pops webshops to giants like Twitter, Facebook and the New York Times. What most users of the software do not know can be summarized int three points:
1. It is, and has always been, a commercial open source project with backing from a company (formerly Redpill-Linpro and now Varnish Software).
2. We have a demand-driven, non-aggressive business model: If you want a feature we can develop it for you. If you want support we will give it to you for up to 24/7/365. Our most important asset is our expertise in the code, years of experience using the software, training and helping countless numbers of website admins to tune the software for their needs.
3. The Varnish Chief Architect is one of the main contributors to the FreeBSD kernel (Poul-Henning Kamp). This means that we value code quality and performance very high. So its amazing speed and performance are no coincidence as we have had the time and expertise to code (besides PHK we have Krstian Lyngstøl of Compiz fame), maintain, fix bugs and have proper release and support cycles (Tollef Fog Heeen is our release manager).

So what is the best way for Ubuntu (and Canonical) to let a company like ours grow? Well, I have another list:
* Help us distribute the software to as many users as possible
* Attract Ubuntu power users to our software so we can make it better (fixing bugs or receiving code)
* Help each other develop our market by providing a stable enterprise platform to customers (we support Varnish Cache on LTS releases only)

I guess there are many other ways, but these are the ones that came to my mind now. keep up the good work!

> So, from my perspective, the model we adopted with Ubuntu is simply accelerating the normal economic trend,
> and therefor not a distortion.

yet, if we see economy in relation to space, from a territorial perspective so to say, what you call acceleration is a saturation of markets on global scale that results in killing diversity.
Admittedly, it leads to quality faster (for the little needed anyway), but at what price? who is paying that price?

> Ubuntu may or may not survive, but Android is already in a very defensible
> position and unlikely to change its model. And there’s nothing philanthropic about Android

true, Android might end up building an open market place, contrary to what Iphone does.

I understand Ubuntu is going towards a similar direction and I was even reading software-center code these days to understand in detail what are the possibilities.

These are interesting directions; still not daring to experiment further and not enough to make it sustainable for upstream developers, yet i consider them good and honest attempts.

> On another note, you talk about artisan distributions as a healthy thing. From almost every perspective other than
> the learning process of the developers and the opportunity to do rapid prototyping and innovation, such distros are
> neither economically sustaining nor constructive.

this is a wrong assumption IMHO.
just consider the issue of local labor, a crucial economic aspect to explain why global markets have failed to provide the world with wealthy economies. local services, ad-hoc development and in-house knowledge cannot be considered quantitatively: to the contrary, they are qualitatively different and their outcome shouldn’t just be measured on the scale efficiency, but also on resiliency.

obviously relying on community efforts like Debian is an enormous increase in productivity from which Ubuntu itself, as well artisans, can benefit (FWIW i’m moving to Debian as well), but the level on which Ubuntu is operating is a layer above and competes directly with specialization, capitalizing on what is needed for local efforts to survive.

but then i should also mention that Ubuntu gives something back to local and diverse communities that Debian doesn’t: launchpad, something I find very useful myself.

> They make a fragmented Linux landscape worse, they do relatively little in the way of security updates and they
> struggle to get beyond their core big idea.

again, it depends. there are some good reasons nowadays to think that going slow is better than going fast…

As a contribution to the discussion, here i’ve taken the time to explain a point of view on software development inspired to “Permaculture” in a recent lecture at Tech. Univ. in Delft.

Hopefully a bit of a hippie approach won’t hurt this discussion :^) http://ur1.ca/4dbau
to be regarded mostly as inspirational here.

At last, as much as i was disturbed by your “philanthropic venture” about 6 years ago when Ubuntu started, i’m now grateful for your stance “FLOSS needs stronger upstreams, and as a consequence, weaker distributions”.

You should write a book, no, several books it would be a shame that such long posts would stay on this blog….

About question considering Mozilla’s et al., (which I think it wasn’t directly pointed on them, but open source generally, hope didn’t get it wrong)

Honestly I think you are trying very hard to get more windows users on the open source side, which is good on one side, and on the other you might get contra effect

I don’t know if Canonical is doing a market research via questionnaire, but a good one, psychology based…. if not, you might consider doing that research among windows and open source users (example – their habits, what is important for them etc.)….

I know it will take time, (personal experience, cause I’m doing a research about discipline in high schools for my master thesis, and it’s not easy, don’t know If I’ll get the answer on that…. but maybe I’ll open a door just a little bit)….

The point is, maybe Canonical could get more precise answers with that kind of a research, on main points/questions to consider whether something is important to develop/not to develop, rush/not to rush with something…..

Stronger upstreams mean a strong FLOSS story, which is a win for distributions too. That’s why I’m in favour of it. However, it would also mean that upstreams could more often negotiate directly with customers and have their own share of the revenue pipe, which currently goes mostly to the distributions (and most of all to Red Hat). I think that’s healthy and good, but it’s obvious why some distributions often take a stance which weakens the upstreams, because it makes them the sole arbiters of quality, assurance and services.

Find ways to make upstream projects whether they are open source or not profitable. Create venues for making money. Money is power. Money means independence and freedom. The software centre is a very good start. But, I think you have to think harder in that direction. How can Ubuntu help make open source projects profitable!?

Ubuntu’s major asset for upstream is its large user base. Upstreams need to advertise their product to users; they need to find out the user needs in order to improve their products – market research – they need user feedback in order to clear out bugs, finally they have to be able to sell the product or services. This process must be as easy as using an i-phone for upstream projects. Lot’s of geeks love their software but don’t care about the business aspect. Lend them a hand and make it as easy as possible to deliver in this area.

This would be a win-win situation for ubuntu and upstreams, because – to be clear – the major thing holding back linux is not the design of the desktop. It is the lack of first class applications.

Okay let’s talk specifics. Let’s talk Banshee as an upstream project which would benefit from a stronger upstream. What specifically would you propose that the Banshee upstream do, in order to be able to have more control over their revenue pipe instead of being at the mercy of distributors who decide to unilaterally take a majority of revenue associated with the use of Banshee as an application? Because right now.. its clear that distributors have an unbalanced amount of power with regard to defining Banshee’s revenue pipe. That’s been demonstrated quite recently in fact. So Mark, what specifically would you suggest the Banshee project do to be strong..to balance the unreasonable power that distributions wield in defining the upstream project’s access to revenue?

http://www.markshuttleworth.com/archives/680#comment-355128, Marco: You are as wrong about chefs and recipe as you could be. You can easily buy professional cook books with a several hundred dollar price tag, book expensive courses and as a newcomer you are welcome to work hard essentially for free in exchange for being able to learn/steal from masters. Granted it’s more about techniques, management and sometimes even science, but the picture of kind old woman/men teaching following generations how to feed the family has absolutly nothing to do with professional cookery. It’s a proprietary world.

Back to topic: In usual FOSS environments the non-contributing “end-user” is irrelevant. And she knows it — to prove this point open a random bugtracker. Ironically, to fund and therefore empower upstream this has to change. But it is no decision which could be made from outside a project. All you can do is help. Collect and organize small BitCoin bounties? Why not. Offer fan memberships? Why not. Just make sure it is easy for both sides and you could distribute in all directions. Oh – and that’s not a small thing to do, being some kind of FOSS bank gate would be tough, fairly obvious since Bansheegate.

I have a proposal for a new feature set for Launchpad to provide a way for users to create targeted monetary incentives for developers to fix specific bugs or to implement new features. The model to be proposed works like the online marketplaces designed for freelancers to be employed, but it’s for Free Software and implemented on top of Launchpad.

This is certainly related to your post as this could have a potential to empower upstreams.

On the ethics of the open / closed source business models like MySQL. Is that model good for the open source world (produces great software)? Or does it hide a darker truth, that the only business models in open source are advertising or support (Mozilla or Canonical)? More philosophically though, is open source supported by proprietary a good thing in the long run? This seems to be the model that makes Android, MySQL, and possibly Qt work.

Secondly, inspired by Eduard Grebe’s comment, is the path to stronger upstreams and a stronger ecosystem simply more users? If GNU/Linux as a whole had 10 times the users, would that automatically strengthen upstreams simply by making the amounts of money involved bigger? It seems like commercially viable open source projects need large user bases. If the whole ecosystem was ten times larger, that might make many more parts commercially viable while today there simply aren’t enough users to generate revenue for those pieces.

The distribution is in many ways the gatekeeper. Any moves that encourage the gatekeeper to share the revenue pipe upstream will ultimately put more power in the hands of the distro. It seems like the only viable business models in the FLOSS world are advertising or support. It’s hard to be an upstream relying on advertising because the distribution sits between the project and the customer. Support seems therefore to be the only viable model, and it requires a large user base doing something mission critical and willing to pay for support.

With a big enough FLOSS ecosystem there might be enough money swilling around that some will trickle upstream. But relatively speaking, the distribution is the gateway to the user, and as Google has proven with the web, that is the most profitable spot to be in.

@Mark, if you believe some non-profits are worthy and others aren’t, please publish your list so we can see what you really think, instead of making vague accusations and making exceptions for only one non-profit. Finally, I also note that your words in the main post above about FSF are not all kind.

I mention the FSF twice, once to say that non-profits are difficult to engage with commercially (by definition, they are not commercial entities) and again to cite them as an example of non-profit leadership done well.

Really, your commentary here comes across as painfully self-obsessed and paranoid. I’m not criticising the FSF or you in this case, nor the Conservancy that you run. I’m quite obviously saying that it is a common pattern for free software projects to decide they need a new non-profit, then fail to nurture and nourish it properly. Your efforts to help in that regard are noble, but the need for an institution like your Conservancy directly supports my point that volunteer developer communities themselves are in a bad position to create their own individual strong institutions.

More importantly, an institution that does not provide the means to support more diverse contributions and maintenance to a codebase does little beyond what’s possible on an artisan basis. You need more if you want to compete. Mozilla, for example, has both a .org and a .com; the same is true of Blender. It’s the commercial vehicles which give me more confidence in the ability of the project to navigate rocky waters over time in partnership with their communities.

According to David Siegel, Coanonical’s Desktop Interaction Architect, Unity was originally conceived for small screen devices.

I just learned today in a Linux Outlaws interview with Scott Lavender, the project leader of the Ubuntu Studio distribution that the Ubuntu Studio team has deemed both Unity and Gnome 3 unsatisfactory for their users’ needs. Ubuntu Studio will be migrating to XFCE as the default desktop.

I came across a idea, that every user receive a virtual vote from Canonical before every release, and by that ticket, you could choose your favorite project. And Canonical would change that into real fund distributed from part of Canonical’s benefit(if this exist..I don’t know).

I’m thinking the relevance between democracy politics and FLOSS, which both of them are based on the idea of free.
Maybe we could use voting or other rating systems to represent our support or ignorance, like what we do to faithful politicians.

You say of non-profit FLOSS organizations: “The track record of those is poor: they get setup, and they fail as soon as they have to file their annual paperwork, leaving folks like the SFLC to clean up the mess. Not cool.”

This is a serious accusation. Can you provide specific examples of such organizations with poor track records? I’m genuinely curious.

@Mark, I’m really sorry to see that you’ve moved from debating the issues into making attacks about my personal character. I’m unlikely to come back and respond further after this final comment herein, given the level of rancor that you’ve introduced by making character statements rather than debating the issues. But I have to at least respond to your attacks on my character above.

First, it’s not self-obsessed for me to engage in a debate, started by *you*, about an issue that has been a major focus of my life’s work for the last 13 years. I’m obviously an expert in the area. By your logic, Linux developers are self-obsessed because they spend the much of their time debating kernel issues on LKML.

Second, it’s not paranoia: I’m among at least a few people (including Richard Fontana of Red Hat) who noticed the aggressive and broad-sweeping nature of your statement: “the track record of [Free Software non-profits without commercial arms] is poor” and that “they fail as soon as they have to file their annual paperwork”. Still, at this point in the conversation, you’ve only said two organizations without commercial arms are an exception to that “track record”: the two organizations I’m involved with.

It *would* be self-obsessed of me to presume that my involvement with an organization magically makes it competent. Of course, I don’t believe that. By contrast, I am in regular communication with my colleagues at all these other non-profits that you’ve attacked. I’m not aware currently of anyone who is behind on their annual paperwork. Are you?

As it stands, you’ve made a sweeping statement against an entire class of organizations without any evidence to bring forward that supports the claim. You and I both have mentioned a few counter-examples to your own sweeping claim, yet you have not retracted nor supported your original unsupported generalization. Could you please produce that evidence or retract the statement? Where is your evidence that establishes non-profit failure as a “track record” in Free Software?

So you both took a beating, so what? Settle down man and come back to the table.

“Where is your evidence that establishes non-profit failure as a “track record” in Free Software?”

What about the PC desktop? That’s a failure isn’t it in terms of market share? MS office, Adobe Photoshop, AutoCAD,… Where are the non-profit alternatives? Am I missing something? Isn’t this a track record?

Now let’s see, what was the biggest success in the past few years? Android?! Google!? A true winner. Clearly not a non-profit organization.

I am not saying that there are no good open source alternatives, in fact I am using them. But, in general, I think Mark has a point there. I think open source projects need to make money in order to come out on top.

But, that’s just me. I am not in the business and you can stone me, if you don’t care for someone to comment on your very emotional dispute. These emotional discussions are unproductive and won’t lead anywhere.

I’m a bit new to the world of open source, but from what I’ve seen all the money eventually comes from selling to non-technical users. Red Hat, Oracle, IBM etc all make money by offering solid services and software to other industries (ex: Banking) who can’t do it for themselves. And I don’t think there’s any other way.

However, nobody pays for Eclipse, for instance, and it’s pretty solid (I assume – I use Vim). But these kinds of projects are more “infrastructural” in that they’re built by programmers for programmers. The developers are the users and the users are the developers and since these are the tools needed to do anything, many people contribute and everyone benefits.

However, open source software meant for the average consumer (say, Gimp) is a bit lacking.

The important thing to note is that this kind of software targets ordinary people whose needs and capabilities are different than ours. They just want it to work and to get the job done and to that end, they’d be willing to pay for services. And the developers of those projects would be in the best position to provide those services. Dave Neary brought up a great point. The developers of Gimp could, for instance, sell packages of icons or templates that users could use when working on a project. And the profits generated could help bankroll the project further. As several others have pointed out, they could also charge users (individuals or businesses) to implement feature requests. Once developers start thinking about what their users want and need when using their program, they can find creative ways to provide that and bring in some revenue. As an example, they could try the Mozilla approach and build in a Flickr xor PhotoBucket uploader. As this would help in attracting (and keeping) users to those services, it seems likely that the developers could get some money for this.

Also, the open source community is aware of these circumstances, I’m sure many would be willing to donate money to their favorite projects. There should be an easier and uniform way to do that (perhaps in the Software Center?). Just a couple of dollars from a fraction of end users could go a long way.

@Mr. Shuttleworth – How’s Ubuntu One doing? Because Ubuntu targets and already has a lot of “human” users, it seems like there would be a good amount of demand for that kind of service. Canonical creates an awesome OS that it gives away for free, but surely it can profit by providing useful services to end users. If Ubuntu One can be made more compelling (feature wise), perhaps more people would start opting for paid accounts? Also – Thank you for Ubuntu!

@Mr. Kuhn – In one of your posts you said: “For years, FSF employed developers to write the code upon which Mark now builds his business” – how did FSF get the money to do that? I only ask because perhaps other projects could do something similar.

@Mr. Shuttleworth && Mr. Kuhn – Both of you have made tremendous contributions to our community both as individuals and through the organizations you’re part of. But it’s painful to watch what’s happening here. Both camps bring a lot to the table. Ubuntu is obviously closer and more visible to the user, but the work done by the FSF and similar entities are by no stretch of the imagination any less vital (where would we be without GCC, GNU, Perl or for that matter RMS?). I don’t know if it’s just me, but it seems like both of you have valid points within your own sphere, but, as your spheres (consumer oriented, “polished” software vs programmer oriented “infrastructure”) are pretty different, it may be difficult to understand the others’ view. It would be a shame if we end up with a schism within our community.

First off, I just want to thank Mark for a very thought provoking post. After thinking about it for some time, I came up with the following thoughts:

When I install a linux distribution, I’m choosing several sub-systems that each impact the way I interact with my computer (whether I know it or not). I, for example, use Kubuntu. That means, I’m at once a member of the KDE community, and a member of the Ubuntu community. But it doesn’t stop there. Being part of KDE means I’m mostly using Qt, and being part of Ubuntu means that I’m installing .deb files instead of .rpm. Being part of KDE means I’m using Kontact (which probably won’t sync with my Android phone), and being part of (K)Ubuntu I also have PulseAudio running on my system (which may not play nice with WINE).

Now, when choosing a distribution, a user actually chooses a Desktop Environment. The DE provides what he needs most whether it is certain features, or stability, or performance. But, for most people, this is actually a very small part of the equation. Because, when you choose a distribution you are inevitably utilizing a whole host of other systems. The problem is, when I need some guidance or something goes wrong, I don’t know who to ask.

Say I want to know how to change my screen resolution: Can I ask on any KDE forum, or is it different from distro to distro? Of course, if I specify my distro in a google search by typing “DistroX change resolution”, I don’t have to worry about what sub-systems my distribution is using. But if my distribution is not very popular, the search might not yield any fruitful results. So, most people stick with the more popular distributions because that guarantees (to some degree) that they’ll be able to find help, packages, documentation, etc. for that release.

On the documentation side of things, I thought, what if we create a central wiki between all distributions and desktop environments. That way, users won’t have to wonder where to go when they want to know how to do something like change the resolution. Currently, I think Wikipedia is a great example. If I want to know any random fact, whether its the population of Greece, or the earth’s diameter or the chemical reaction that makes milk go bad, I know I can just go to Wikipedia and the answer will be there.

I think this will empower a lot of the smaller distributions as it will greatly lessen the burden of documentation. Now, when OpenSuse guys document how to change the desktop resolution on OpenSuse KDE, other guys like Chakra can simply say “We also use KDE, and the method of doing it on our Distro is the same” and then tag the information as being applicable to Chakra as well. And when Ubuntu guys document on installing .deb files, the Kubuntu guys can just it as “also applicable to Kubuntu”. Furthermore, it will greatly help users of less popular distributions if they know they can just go to penguinmothership.org instead of hunting all over the web for relevant information.

And it would also open A LOT of possibilities. For example, applications could be written to directly interact with the website. Pressing F1 in KWord could show me all the information on the website about KWord filtering out everything that’s not relevant to Kubuntu.

To those who would criticize MySQL for any reason, I ask you for an example of server software that is more ubiquitous in a single industry than MySQL has been in the web world.

Through it all, they’ve maintained a dual FOSS license and extremely high quality in their FOSS releases. They made money from the licensing *and* from selling support and services. MySQL perhaps more than anything though, remained strong, and was swallowed by an incredibly strong corporation, because they consolidated the licensing power.

MariaDB has not “saved” MySQL, as it doesn’t need saving. MySQL 5.5 is one of the best releases of MySQL yet. 5.6, due to GA soon, will be even better, and is the first one brought to us entirely by Sun and Oracle. In a way, MariaDB pits MontyProgram’s ambition against Oracle’s ambition. They’re standing up and saying “you don’t get all of the power, Sun/Oracle”. Percona is also producing a derivative of the FOSS release of MySQL that further keeps the power balance in check. By doing so, they have now challenged Oracle to make a move that might weaken the FOSS community.

If Oracle were to do anything to harm the Open Source version of MySQL or its community, such a move would make Percona and MontyProgram instantly more powerful. Oracle needs their version of MySQL to stay healthy, so that they can make sure it keeps moving in a direction which does not threaten their main revenue stream, Oracle DB. Their ideal world has people using Oracle DB for what its good for, and paying Oracle a lot of money. I don’t think they care who people pay for MySQL, as long as when it comes time to grow beyond MySQL, people do it with Oracle. This is only possible because MySQL was a single commercial product which happened to gain its dominant position through FOSS licensing.

So to those who would say “please not another MySQL” or “Oracle is killing MySQL”, I would say “please give us another MySQL! and who will be its champion?”

You say “it’s very important to me that we figure out how to give more power to upstreams, so that they in turn can invest in producing components or works which have the completeness and quality that end-users expect.”

I find the language of “giving power” confusing; I assume you don’t mean Canonical et al should cede power to upstreams, but rather that upstreams should find and assert power themselves.

What sources of power are you proposing upstreams tap into and assert? Trademarks, copyright, PR? Isn’t upstream power antithetical to software freedom?

To make this discussion more concrete, what power would you be happy for Banshee/GNOME to wield over Canonical so that we could get more than a 25% cut of revenue generated by our software?

I think Unity has massive potential, but there are (for me) fundamental issues; users moved from a familiar environment – familiar because most major desktops have a similar,what – arguably – has become an “intuitive” interface, to a very different experience.

For example one may say that nobody uses the Minimise and Maximise buttons, (In G3 they are completely removed) but I do, often with multiple instances of the same program – e.g.. Firefox. Thank you for retaining them.
Minimising windows is conceptually different now. To some, this may seem a minor change, for me, it’s not!
Rather than simply rubbish things – not my way – I would like to offer a possible solution (Perhaps an impossible solution?). When you minimise multiple windows a “bottom panel” is automatically created and “auto hidden”, showing all your “minimised” windows. A “mouse over” the bottom of the screen would bring this panel up. Your thoughts would be much appreciated.

I’m not saying Unity is a bad user experience, but for me personally, I find hard to migrate and – for the moment – I’m much less productive than before.

It’s fine by me if you want to provide a totally new and revolutionary user experience, but if you just drop me in a new radically different environment, I, like many, are tempted to write negative reviews – this is not productive and as stated, not my way. Unity is far too brilliant a concept to die, due to lack of explanation. Instead, tell me what has changed, where are the old things? If they have been moved – where to? Where are the new? how do do things better/quicker than before?
A guided tour, or interactive introduction to the new interface.

Simply informing the user what has changed, is OK but it needs another step IMHO. It’s sign that maybe there is a misunderstanding of what a “user experience” is. If those dedicated (and very much appreciated) developers think people can migrate from Gnome2 to Unity with ease – I feel they have misjudged things a little, or perhaps a lot?

When you learn to use a new computer, there are many approaches:

Use your previous knowledge – it helps, but, who does have knowledge for a new and revolutionary product?

Click all the buttons and keys, hoping you do not mess things up irreparably, until something works.
Ask around, fortunately with Unity we have a fantastic community.
But, is it the blind leading the blind?
Read documentation. Well, I am still looking. Something condensed like a “before and after cheat Sheet”

Unity is an obstacle to my productivity at the moment, not because it is bad, but because the transition from G2-to-U is so radically different and for me not intuitive.

I’m a bit new to the world of open source, but from what I’ve seen all the money eventually comes from selling to non-technical users. Red Hat, Oracle, IBM etc all make money by offering solid services and software to other industries like the finance industry, who can’t do it for themselves. And I don’t think there’s any other way.

However, nobody pays for Eclipse, for instance, and I’m guessing it’s pretty solid. But these kinds of projects are more “infrastructural” in that they’re built by programmers for programmers. The developers are the users and the users are developers. And since these are the tools needed to do anything, and are the sort of thing programmers tweak anyways, many people contribute and everyone benefits.

However, open source software meant for the average consumer is a bit lacking.

The important thing to note is that this kind of software targets ordinary people whose needs and capabilities are different than ours. They just want it to work and to get the job done and to that end, they’d be willing to pay for services. And the developers of those projects would be in the best position to provide those services. Dave Neary brought up a great point. The developers of Gimp could, for instance, sell packages of icons or templates that users could use when working on a project. And the profits generated could help bankroll the project further. As several others have pointed out, they could also charge individuals or businesses to implement feature requests. Once developers start thinking about what their users want and need when using their program, they can find creative ways to provide that and bring in some revenue. As an example, they could try the Mozilla approach and build in an uploader for a commercial photo hosting site. As this would help in attracting and keeping users to those services, it seems likely that the developers could get some money for this.

Also, the open source community is aware of these circumstances, I’m sure many would be willing to donate money to their favorite projects. There should be an easier and uniform way to do that: perhaps in the Software Center? Just a couple of dollars from a fraction of end users could go a long way.

@Mr. Shuttleworth, How’s Ubuntu One doing? Because Ubuntu targets and already has a lot of “human” users, it seems like there would be a good amount of demand for that kind of service. Are a reasonable number of users opting for paid accounts? Also – Thank you for Ubuntu!

At the bottom of your blog you asked this question: “So, what do you think we could do to create more Mozilla’s, more MySQL’s, more Qt’s and more OpenStacks?”

Did anybody in all these posts answer you question? A few did. A lot of responders used the opportunity to attack you, your company and the distribution that it funds. If this is typical of people involved in Linux development than I can understand if the idealistic Mark Shuttleworth that funded and allowed free distribution of the Ubuntu is now a somewhat frustrated Mark Shuttleworth.

Of those that gave an answer to your question, they seemed to be saying carry on as before. I think that you were looking for something other than that.

May I direct your attention to the second paragraph in Eduard Grebe’s post on June 7th. He seems to have it spot on. When you have device/gadget makers selling products by the ton (or is that tonne) and paying for the privilege of using an open source operating system and applications then you have a means of funding all those involved in the OS and applications. Even if the method is absent.

Up until now the makers of products have seen open source as a means of reducing their costs. And open source supports have just been thankful/grateful that open source was getting somewhere. But it was not going anywhere was it? How much money was any one in open source development receiving for this free (as in not paying a penny for it) software?

I think that I am echoing your own aims of having a quality OS with quality applications that hardware product makers will pay to install on their products. You could of course pay your own employees to do this. Then you could make all the deals you can. And maybe your company will reap the financial gain. But I do not think that is your purpose.

“So, what do you think we could do to create more Mozilla’s, more MySQL’s, more Qt’s and more OpenStacks?”

Not certain anyone has “the” answer.

Stepping back a little….

Desmond Tutu further explained Ubuntu in 2008 (Source wikipedia)

One of the sayings in our country is Ubuntu – the essence of being human. Ubuntu speaks particularly about the fact that you can’t exist as a human being in isolation. It speaks about our interconnectedness. You can’t be human all by yourself, and when you have this quality – Ubuntu – you are known for your generosity.

We think of ourselves far too frequently as just individuals, separated from one another, whereas you are connected and what you do affects the whole World. When you do well, it spreads out; it is for the whole of humanity.

Somehow I feel we need to advance this philosophy, which IMO has been beautifully elucidated above.

Ubuntu (and its derivatives) has reached all corners of the globe.

A story to digress a little…
An OEM copy of Windows 7 (microsoftstore.com) is $199.99 I know there are places you can pay more/less in the USA, I am simply using Microsoft’s own store as a baseline.
In Laos (as in many countries) – (source http://www.asiaecon.org ) the minimum wage is $67.00 per month. Three months wages to buy the OS. Then you must configure and load software to make it usable. Mostly “freeware” will do this for you.

Computers are often donated to the third world and DO reach many homes. I have cycled from Vientiane to Cambodia (and well beyond) and can attest to this. Software Piracy is of course rife, however, even a pirate copy can consume two days pay.
Ubuntu can be had by sending an email. Of course it has most of what one needs to work and play “out of the box”

Would it be possible to carefully craft a statement asking those from the more wealthy nations to donate to a fund, that will ensure quality free software for all the worlds people. NO COMPULSION just a simple “do it if you feel you should” I understand the dynamics would be mind-boggling.

I feel strongly that for our fellow humans to enter the information age, we need to pursue “mind-boggling” solutions.

@ Mark,
“Empower software companies”. Yes you do understand that they are powerless with the copyleft software available right in front of them, but they dont want to take it. So u are going to “empower” them so that they know “ways” to use the hardwork of freedom coders. And, who is afraid of them, Well, u are. Its obvious.

There are no monarchies in the freedom software world. The author, the user, the contributor, the maintainer everybody is a monarch. They live in a free world and enjoy their freedom.

There is order in chaos. U just have to look for it. Take any freedom software project as an example(why not urs).

Freedom software and freedom in general is a passion. It has to be experienced to understand it. Free urself from appeasing big organizations and start helping all the government schools in the world to start using GNU/* . U will see the freedom in the eyes of the children.

I dont know how this word “fear” has gotten into you. What are u fearing?. That u may not get back ur ROI, That ur project may fail, That u neglected the corporate sector and concentrated on the desktop market, That u may not be able to sell boxed ubuntu GNU/Linux on a store shelf. I dont know.

The FLOSS eco-system is driven by ideologies. Ideologies are theoritical perfections which people/organizations should thrive to achieve. The freedom ecosystem is not run by POWER.

Did u send this post to all the CEO/CTO/C** of all the companies whom u fear and have asked u to represent them.

Thank ur lucky stars that GNU/HURD did not take off. You would not have found an ally from the free software foundation like linus.

Freedom software has stood the test of time and will continue. There is no “fear” and no necessity of “power” only passion.

I believe that Gimp is really strong software and I am thinking day and night how to make it profitable… I am not developer.

Many graphic artists, photographers… are using it everyday and earn enough money for life. If every of them would pay for Gimp, the developers would be millionaires.

But I know we can do better than just selling software, it is old model in this case.

1. Addons: Gimp has great possibilities of extension. Paid brushes, now you have to hunt them on web, I can imagine buying them through software center/gimp. Not only brushes – plugins, photo filters… everything people can do using Gimp, because if they will be earning money through it, they will help improve Gimp itself.

2. Bundling/Branding Gimp with hardware – with cameras etc. – vendor can brand Gimp, easily add plugins, … they can do it for free with GPL, but we can help them.

3. Micro payments. I am not big fan of them, but if we would have nice web-page like Mozilla does for Firefox extension, I believe we can earn some money.

4. Gimp “business” is run by developers – they do their work extremely well, but maybe they are even not interested in thinking about how to make money through their work…

5. Ubuntu One cloud integration, I thing there are possibility improve graphic workflow with this service – sharing images, etc.

6. I do not believe we will find some universal approach to turn every free software into money. We have to work hard and uniquely on every of them.

“So, what do you think we could do to create more Mozilla’s, more MySQL’s, more Qt’s and more OpenStacks?”

Very simple, first of all we need to embrace state funding of information infrastructure, see PyPy.

We also have to institutionalise projects quickly. We gathered a lot of experience in Germany how to set up non-profits.

And we have to provide windows builds because this leads to a larger user base and Windows is a more static runtime environment destination and features mature debuggers. You also need nightly builds. That makes software then rock-solid and rock-solidity results in an AAA rating.

I think there are several drawbacks of open source development projects. First of all, it is more attractive to work on your own project on the greenfield, than contributing to existing projects. The result of that is, that we have e.g. a hundred OSS CMS systems and nearly as many wikis but most of them do nothing better than the alternatives. What we would need instead is a single digit number of high quality CMS systems that are supported by large communities of developers.

Then in many OSS projects it is amazingly hard to contribute. I tried myself to contribute to OpenOffice a few years ago but gave up after several emails and weeks of struggles with the main developers. Developers should invest more time in lowering the entry barrier for potential contributors by providing tutorials and documentation instead of writing the 96th feature.

Finally, I agree with Mark, that power is a key factor in OSS projects. I have the feeling, that many projects struggle with getting a common sense on the next steps and therefore, important decisions are delayed or not taken at all due to dissent in the developer community. Sometimes it is important to have a leader that gives directions and has the ability to convince has followers. Those charismatic leaders like Steve Jobs or (maybe) Linus Torwalds are missing in many projects. Although I don’t think dictatorship is good and desirable, we all have to admit that sometimes it is far much efficient than democracy, as China demonstrates so obviously in the last years.

Just become a Sponsor for projects, that have the nucleus of a pro-software-project allready. The plan, the organisation, responsible people, disciplin, communication.

Did someone mention Ardour yet?

Paul Davis is a pro and his team is pro-class also. And Ardour is at the level of some other big players already — all it needs is money. And not much of it compared to the spendings, commercial companies use to allow their dev-teams to prey upon.

There are other projects, that could become pro-grade also in little time if they make a commitment to become professional software-makers, get a little help to build an organisation and, most of all a reason to make such a commitment: money that is.

We tried doing a consumer project http://vizualbod.com/f/template/goto/de.html – and again, after already selling the first 100’000 pieces in two weeks, we were stopped by a lack of financing in 2008 again, so we couldn’t start production and had to shut down.

We’re bursting because of having code base (we created a mobile operating system, the navigation software, a car tolling system, and much more, and everything is still here), but there is no financing. So no products.

A lot of the responses to this post depress me. I switched from Windows to Ubuntu about three years ago. Only Ubuntu had anything like the polish needed to attract an average non-technical user and I still think that’s true — my last three attempts to install Fedora to try it out have failed.

I know lots of Ubuntu users and none of us are IT professionals. My point is that, if you want FLOSS to become the dominant model of software production, you have to attract end-users like me and my friends who are, by definition, neither capable of nor available for contributing to the eco-system as anything other than a paying customer. The idea that everyone can add some code to make an application better for them and eventually we’ll all be programmers is ridiculous. There are vast numbers of people who have no interest in being programmers but just want tools that work.

Mark has put in a lot of effort and money, neither of which he needed to do, to making this happen and, in the process, has widened the audience for several shared FLOSS projects. I therefore think the attitudes of some posters, and I’ll single out Joe Linux and Bradley Kuhn because frankly I think they deserve it, border on disgusting.

If you don’t like the software he funds then don’t use it. If you don’t like the business practices or development methods he promotes then don’t use them. But lets be clear, the ‘rancor’ (sic) in this conversation started in the comments, not the article.

To return to the topic at hand — I think the comments suggesting developing a strong equipment brand custom making machines running FLOSS and a unified, simple app store both have the highest chance of bringing revenue into the system. The problem with becoming an OEM is that you’re competing with Apple, and there’s about three companies on Earth with more revenue to play with than they have. That’s not easy to compete with.

That leaves the unified Linux app store. The politics of setting that up perfectly would be impossible, so lets assume that a few major players at least sign up to it (managing packaging differences behind the scenes at the distro level). In my view this can work if the app store is the simplest way to get software and, crucially, doesn’t even offer it free. By all means, let technical users apt-get software free from the repositories but, if you want the developers to be able to feed and clothe their families from their projects alone, you need to let users who don’t mind paying for software that is convenient to install and use do so. There is ample evidence from other businesses that customers are perfectly happy to pay for things they don’t need to if it’s made easy and makes the process of getting and using the product they want quicker and easier. I would envisage distros taking a cut of this to fund marketing the distro and also developing the ‘unsexy’ tools that no-one is going to pay for.

Last point, I’d just like to thank you, Mark, for your commitment to Ubuntu. I can honestly say my life has been better since switching from XP as my computer used to be a daily frustration. I’m really starting to like Unity, too.

i think for most FLOSS the only option is donations… then if an app becomes popular enough, they can decide to spend more time on it… (becoming more then just a hobby)
mainly because if its a fixed price, it will just be copied and repackaged (that’s one of the great things about it!)
if it doesn’t get enough donations to make it interesting for the developer, then one might wonder if he would have survived as a closed source… competition means death!
its just an extra stimuli for if the love for coding on its own isn’t enough (a lot of abandoned projects out there )

i do think that the decisions to add payment/donations in the software center might be enough on its own, if implemented well. This model has already been proven: angry birds for example may have started on the very locked in iOS system (dunno for sure), but thanks to that, they got the resources to be independent of apple… though angry birds is not FLOSS… so its different… but still, i don’t think you have to reinvent the wheel…

maybe make the donations go through a third party… likehttp://www.flattr.com // (or just like the paypal donatate buttons, but then using ubuntu one cash or something…)
cause as said before, this need to be very easy “1 clickish”

maybe you can work together with flattr, or others to setup some kind of bounty targets so that developers can ask money before they start working on features… and implement this in the software center… (bridging the gap between user and developer)

well that’s my inexperienced and unoriginal look on it

the chicken/egg problem remains ubuntu’s critical mass/lack of momentum…
ones unity reaches maturity Canonical should definitely try some direct hardware sales (through partners like OLPC, DELL, just like google did whit its G1 and nexus) (and get some serious game developer partners please :P)
for the mean time Canonical needs to make sure that its an easy development platform… including the software tools and default api’s (support only a few not 100 (they can still be hacked by the community anyways))… i think they should remove all apps from the repo, that do not integrate well with unity… (remove the universe repo!) and improve the PPA like system so that not library apps can be put here and be kept up-to-date more directly by the developers (also add android like app limits by using app-armor if possible, to prevent malware, and integrate this in the software center)

With all due respect to Mark Shuttleworth’s achievements this blog entry demonstrates a clear lack of understanding how open source works.

While I agree that strengthening the up-stream development is essential, one must understand the mechanics of how code gets submitted to the FLOSS community. When the blog claims that code quality is minuscule, it should be clear that code submissions are only made as long as they do not touch a companies core competence. If the company has strong patents to support code issues, then there might be a larger share (but then again, this code is threatened by patent protection).

Up-stream development is certainly not a question of the community letting companies enter. Large companies access, align and assimilate community efforts at will. Up-stream development also happens within educational institutes like universities. While they can effort to submit freely, their stamina to enhance code is limited.

If funding up-stream development is essential (and I agree with Mr. Shuttleworth on this), if development targets need to be defined and controlled, then free riding by large distribution vendors is counter productive. They (aka SuSE, RedHat, Ubuntu, et.al.) cannot expect someone else to do the work and pay the money so that their distribution shines.

THe blog claims that Android and iOS were developed in a few years and led to success. For one, both OS’s were built on a strong, pre-existing, foundation. The companies had a vital interest to extend their reach (Google’s Ad and services, Apples iTunes). They provided what Erlich and Aviv call widget frosting (because the primary goal was to develop an access token for their service). In fact this development is similar to the embedded Linux on my Samsung TV and home entertainment devices. So essentially I believe that the opening statement has nothing to do with the core question raised.

Back to the main question: How can up-stream development be funded and energetically enhanced?

Distribution vendors have to share some of their revenue to fund common up-stream development. As long as they try free riding, no serious development will take place other than that coming from existing sources in well-known quality.

Some issues that need addressing:
– common style guide (covering all aspects of software engineering): software needs to become as usable as set-top boxes.
– interoperability: as long as there is proprietary software, it is the responsibility of open source to provide filters to access proprietary data stores. Adhering to standards is nice. Call on Microsoft to do the same.
– long term roadmap: a commonly (between distribution ventors) accepted roadmap will make it easier for companies, universities and even freelance developers to provide solutions. Allot bounties like Googles summer of code to get awareness and contributions.
– enhanced quality offensive: FLOSS code submissions are scrutinized with respect to code quality. Usability and utility are secondary thoughts. If they are added to acceptance criteria, they will be provided.
– provide mentoring: Young people are energetic, enthusiastic and sparkling with ideas. And they work for minimal wages. However, they lack experience and foresight. I recommend mentoring and supervision when it comes to contribute solutions.

There are plenty of other things that need addressing. But I think, if we start on the issues stated above, it will lead to an overall improvement.

My first comment seems to have disappeared so apologies if this ends up becoming a double post. My idea is below and I include the caveat that, since this is a blog reply, I have not reserached this thoroughly.

See if the big players (Ubuntu, Fedora, SUSE, Debian) would sign up to creating a common app-store for *all* OSs, which could handle packaging differences behind the scenes rather than asking the user to get technical (by, for example, including a signature on the user’s connection idendifying whether they need a deb, rpm, dmg or exe).

The conditions of the app-store I propose would be:
* NO software was free as in beer (explanation to follow);
* all software must work properly without the need for visiting forums or performing workarounds to be placed on the store;
* revenue from apps sold is split 75-25 developer-distro;
* the store itself must be simple, attractive and easy to navigate.
* the distros agree to make the store application the simplest and most prominent means of installing new software.

While no free (beer) software would be available on the store, one would still be able to install if through apt-get or similar on the same terms as now. Windows and OS X users using the store would just have to pay. The concept I’m aiming for here is one that economists call a hurdle discount.

For those who don’t know the term, users who aren’t price sensitive (usually because they have plenty of money) pay a small price to get their software through a fast, convenient interface that also implies some quality testing and they are therefore happy. Since Windows and OS X users have already chosen the proprietary world it’s safe to assume they fall into this category. Users who are price sensitive, either through lack of money, frugality, or an ideological commitment, put in a small extra effort to get their software free. Essentially, those who aren’t price sensitive subsidise those who are. This is a well-established business practice and could be worth trying, if any polirical resistance could be overcome.

>So, what do you think we could do to create more Mozilla’s, more MySQL’s, more Qt’s and more OpenStacks?

We need Collaboration, not a *pointless* discussion about balance and power… We neeed to bundle our forces, and not to talk about community-members like “Thy got to much forces on their side, and we got to less….”)

Really, talk about collaboration or just shut the hell up.

Sorry for the rant, but I´m kinda sick of such topics. Not the community is the enemy, even Microsoft isn´t. The real enemy is the voice in our mind which says, that we shouldn´t work together and fight against linux-projects and companies, even if you actually should work togeher with them.

Firstly, thanks for taking the time to explain the balance of economic power in FLOSS ecosystems. I particularly enjoyed your insight on how margins (between vertical markets) and competition (between horizontal markets) influence innovation.

Now, as for your question, I’d like to propose an idea: offer a “I’m a FLOSS supporter” version of Ubuntu.

To download this unique version of Ubuntu from your “Download Ubuntu” website, I have to pay for it. Payment could be a minimum of $10, but anything over and above that would also acceptable. This can be handled through a simple credit-card / paypal payment process on the Ubuntu Download page. In exchange, I would get this unique “I’m a FLOSS supporter” version of Ubuntu, along with a unique key.

Then, once I’ve downloaded this unique version of Ubuntu and installed it, I have the ability to “cast my vote” for which FLOSS project I want my money (whatever I paid earlier) to go towards. Or, alternatively, I can opt to have my money be evenly distributed amongst all the FLOSS packages included in this version of Ubuntu.

Regardless of how I cast my vote, I have to use my unique key to do so, and can only cast a vote once for this key. Thus it would be useful if the system that allows me to cast my vote (whether it’s a built-in package in my Ubuntu install or a restricted-access section on your website) provides me with all the useful information I would want to know before casting my vote, such as brief overviews of the FLOSS projects I have the ability to vote for as well as statistics on past votes. You could even recommend which FLOSS projects are looking hot and could use more funds, etc.

Of course, if I’m a user that is not all that clued up on FLOSS (ie: my grandmother), or I’m simply not interested in downloading this unique version and voting / funding FLOSS (ie: it’s the 10th time I’m downloading Ubuntu this month), I can still download the original Ubuntu installation for free, which is exactly the same except it does not grant me the right to cast a vote (and thus help fund FLOSS).

Ok so having slept on the matter, I think the notion of having a separate / unique “I’m a FLOSS supporter” version of Ubuntu is an unnecessary overhead. An online FLOSS-funding portal on Ubuntu.com – with the funding statistics and other useful information I described previously – would suffice.

Then it’s also worth considering that the average Joe won’t feel any urge to donate. Our best bet may just be to find a way to incentivise commerical entities who use Ubuntu to make small contributions on this portal. Perhaps such donations could be construed as tax-deductible? I wonder if there is room for this argument given that the receiving FLOSS projects are indeed owned and maintained by non-profit organisations?

Assuming this is possible, our governments (and their respective revenue-collection authorities) might still be weary about granting such tax incentives if the receiving FLOSS projects’ companies aren’t in the same country. So, for example, we’d have to find a way to allow companies in South Africa to donate to FLOSS-nonprofits also registered in South Africa.

But this doesn’t sound to “balanced”… as funds would vary wildly from one country to the next, probably slanting towards the more developed nations of this world (I’m guessing). That’s ok I guess. Developed nations have the resources (knowledge workers with spare time and money) to run and fund FLOSS projects. Developing nations can benefit from this. It could end up being a form of global re-distribution of wealth.

But all of that is just an idea; a hazy one at best.

What seems to stick out for me is that yes – FLOSS revenues are funnelled through the Distributor. This is just the way it works. We – the users – are all customers of the Distributor, and the Distributor is the customer of the individual FLOSS projects. So while we – the users – have the capacity to fund the Distributor directly, it’s up to the Distributor to see that these funds are passed on to the FLOSS projects they depend on.

Thus, while having an online funding portal for individual FLOSS projects is one way to help the end-user directly fund FLOSS projects, perhaps a simpler way is to simply sell Ubuntu for a fee. This would allow you (Canonical) to to fund the FLOSS projects Ubuntu depends on. And of course, you’d have to be completely transparent about who you choose to fund and why.

I imagine there will be plenty of concern with this model. For example, you would have a lot of people moaning that the software should be free (as in gratis). Well for them you could have an Ubuntu “skeleton” release, which they can download for free but that has no FLOSS packages pre-installed. They can then use synapactic package manager to download whatever FLOSS packages they want, without having to pay a cent.

But if people want the traditional version of Ubuntu – that comes pre-packaged with at least 1 FLOSS package for each core function – then they should be prepared to pay a fee. Again, you could charge a minimum of $10… and leave it up to the end-user to decide if they want to contribute more.

I have been the co-founder of a FLOSS non-profit organization which did not make it past its first three years. When you write “At the end of the day, such new institutions add paperwork without adding funding or other sources of energy” I can testify that this is entirely true. Non-profits bring trust from contributors — nothing else. The majority of end-users doesn’t care/notice. Certainly, to bring economic/decisional/market power, a non-profit structure must reach critical size that is way, way beyond for-profit organisations.

The problem of money indeed translates into problems of quality and sustainability in the FLOSS world, and we are not good at admitting this. It’s a matter of culture, I think.

I’m not able to make strong propositions but I’ll conclude on a few remarks.

1. As long as the amount of structure and financial support for a project is small the way to go is with SFLC-like organisations. We need structures like this outside of the US (ability to receive money is hindered by border changes and “tax-deductible” status).

2. We need to encourage for-profit activities by individuals within projects. As a freelance worker today my economical power and ability to sustain myself are far, far beyond those I enjoyed when part of the non-profit organisation. [NB: the requirement for constant transparency ends up being mostly a burden (look at The Document Foundation today for example).]
The jump from hobby to earning one’s living with a project is huge and it needs to be climbed, experimented with, in small manageable steps.

3. We need to recognise and encourage non-code writing activities within communities. Communicating and implementing a vision, focusing on the user as a customer, committing to cross-community standards are what will get us out of where we are now. One often cannot do that if driven solely by the love of Python or the scratching of a persistent itch. In other words we need more people like Mitchell Baker and more SABDFLs that don’t spend their time buried in code.

I think we are making progress at 3 but that is a slow process. As for 1 and 2, working on our seemingly-chosen allergy to money would be the first step in my view.

So yes, we have a good idea where you’re going with this =) Keep going, and please keep this discussion alive. We need to have it.

An upstream company is powerful in relation to its customers if it has many customers but few competitors. I think the same is true for upstream FOSS-projects and distributions: Too many upstream projects and very few operating systems they run on. Whatever cross platform FOSS software I can think of -Firefox, Thunderbird, VLC, LibreOffice, QT- they are far more polished than their Linux only peers. My first impression of Clementine -still young- is very good, as well.

One reason might be that they are more likely to have the power to get some of the scarce resources available to FOSS projects despite powerful distributions. But there is another, more important reason: You learn from playing on tough markets. It is the same as with cars – all successful manufacturers have always tried to be successful in the largest market ( US equals Windows?), in the premium market (German Autobahnen – the MacOs of Cars?), and in some kind of emerging market (Linux). Thus, my recommendation in order to strengthen upstream projects is to incentivice them to go cross platform. Help them measure what they’ve done by developing cross platform FOSS-libraries and web based tools that enable upstream projects to both easily track customer satisfaction and get ideas from their customers.

I think the best way to get people to donate money to a project is by a) asking them to donate only when money is really needed, and b) telling them what their money will be used for. That’s one of the reasons why I really love Kickstarter, and why I think it’s so successful. It’s also the reason why the Wikimedia Foundation always gets its funding (remember the banners?). That is, people know what the funding’s for, and they also know that it’s really needed right now and that it’s not just a company that’s continually asking for money, no matter how much is donated or how much it’s needed.

I know that the Software Center is supposed to gain donation buttons with the next release, but it’d be great if they took some ideas from Kickstarter — perhaps have a “Projects that need your help” section on the home page, perhaps tell people what their money could do, perhaps let them vote with their money on what features will be worked on with a software project, perhaps have a banner pop up from time to time when an important project is in dire need of funding… I’m just spitballing here, but I’m sure that if people were told what kind of impact their donation would have, they would be less shy of donating.

I really like Mirek2’s suggestion. It kinda matches what I had in mind.

@mark
Despite the many improvements of Ubuntu over the past years, I feel Canonical is simply not bold enough. I am not sure where is the problem here, the software center should have been full of paid 3rd party apps by now, Ubuntu should have been pre-installed on more hardware by now. I agree things take time but come on.. Ubuntu appeared for the first time like 6 years ago ? (correct me if I am wrong). By comparison, Android is much younger and look at where they are at now. You may say, ‘Google has deep pockets’ etc but I could ask you in return: why dont you have deep pockets yet? I think the answer is that you’re simply not hungry enough. A few thoughts:

You need to bundle Ubuntu into “official” systems, a la Macintosh, on which you’ve made absolutely sure it “just works”. The (usual, run-of-the-mill) end user does not give two cents about anything else; this is why Apple has been so successful.

This would give additional exposure to Ubuntu as a human-friendly operating system, and to the notion of Linux itself, something that is still sorely needed.

Ultimately, the strongest (and arguably only) way to get companies writing programs for Linux is to make Linux popular in the first place. I don’t think there’s much you can do about that except to make Ubuntu more popular, and hope the others follow by example. The “OS for everyone” was a great start to this, but isn’t it time to take that next step and guarantee it’s working on Ubuntu-hardware?

“Start charging your users somehow. I am sure many like Ubuntu enough to give you money.”- Check the ubuntu website
and check “Ubuntu is, and ALWAYS WILL BE, absolutely free. “! Your idea is going against the philosophy that ubuntu is based on. Instead Canonical should use some sort of donation system using paypal or something. But i understand your idea!

At the end of the day, FLOSS projects, without financial support, are nothing but hobbies. Many of them are quite good, but the project is done at the expense of the programmer, that is his time. Now the programmer might be quite committed to the project and does a great job, but the ultimately there is no financial consequence for failure. For example, I play footy is the US. Me and my teammates have spent a lot of time and money traveling to play footy and we strive to win, but not attending practice or games does not have any financial consequence on my life. I do it because I enjoy doing it and nobody is willing to pay me to do it. Now because I cannot support myself by playing footy I have to have another activity that brings in the funds CRE investment, that is my profession. I think this is evident in Ubuntu. It has succeeded so quickly because Mr. Shuttleworth’s willingness to pay programmers to work on the Ubuntu project, so it is not their hobby, but their profession.

Ubuntu’s success, therefore, is linked to the success of Cononical, that is its ability to profit from Ubuntu. Now Ubuntu’s strength, the free support of thousands of enthusiastic programmers, makes the job of profiting from Ubuntu complicated. How can a company profit from the free work of others? Of course it would be impractical to hire everyone who wants to contribute and even if Cononical did, Ubuntu becomes proprietary in essence. I think what Cononical is doing, by providing support related services as a fee is a good avenue, but probably not sufficient at the end of the day. Probably what needs to happen is that commercial licenses are created to help generate revenue and since companies are making money from using Ubuntu it would seem logical to pay for that tool. From the increased revenue Cononical could hire additional full time programmers to add polish or maybe assume sponsorship of LibreOffice given its overall importance to the commercial market. Yet what about people wanting to contribute and the importance of a vibrant community? I think the way to encourage continued community involvement is recognition of someone’s work (Karma as its called in launchpad). Yet I would take it a step further, maybe assign a “bounty” to certain bugs or features that need to be fixed or created. So time consuming or skill-taxing contributions will actually provide the contributor with a financial reward. Think freelance photography or graphic design.

Overall I am happy that this type of discussion, by one of the leaders in the linux community, is out there. It makes me hopefully that a linux desktop (specifically Ubuntu) would become an important player in the desktop OS marketplace soon.

@zelrik
“Ubuntu appeared for the first time like 6 years ago ? (correct me if I am wrong). By comparison, Android is much younger and look at where they are at now.”

counterexample:
look at apple. they are very long long time in the business and they were very small in comparison to microsoft and now they are a big player. if a product is very well the time will come.

That’s a good question. First, it’s worth recognizing that we specifically DO acknowledge that there is a group behind Banshee which can express a cogent opinion, and we want to support that group, hence the offer of a revenue share.

Second, I think you need to start thinking of yourselves a bit more. As I said at the time, my preference is that the money we share with an upstream in a case like this go to strengthening that upstream. In the case of Banshee, the group in question seemed shy to accept that, deferring instead to the Gnome Foundation. Now, I like the Gnome Foundation, but you should IMO stand up for Banshee harder, and keep that money for yourselves, investing it in your project, to strengthen it further.

Third, I think one of the key areas you can strengthen a project is with branding. Get the brand Banshee widely known, so that users say loudly they want *Banshee* and not whatever-Ubuntu-picks.

Fourth, you get more power if you have an organisation that can actually use it. Appoint clear decision makers and leaders. We ended up in a mess in part because we *thought* we’d agreed things with “Banshee”, and in the end we had only agreed them with some Banshee developers and fans who were at UDS and Florida. If you were a proper organisation with designated leaders it would be easier for other groups to deal with you; to make agreements that they can expect to be upheld. It’s impossible to build a relationship with an institution that is made up of n individuals – because any agreement can be undermined by the next person. So, make a company, have a CEO who speaks for it, and let them make deals.

Finally, you get more power if you own your stuff. You know where that leads, and it would be good for you to do it.

How would having a well-known brand help us? Users may demand “Banshee”, but Canonical is giving them Banshee, just modified to take a 3/4 revenue cut. The only legal power branding gives is via trademarks, a rightfully contentious issue in FOSS land.

The only way I can see FOSS projects having more power is by being their own distributor, eg Firefox on Windows. With FOSS giving everyone the right to modify, it’s the distributor who decides what code users actually receive.

I completely disagree with your characterization of our negotiations; Banshee has clearly defined leaders/maintainers (see http://banshee.fm/about) who spoke with a single voice (not at UDS, the negotiations did not happen there, they happened in e-mails and conference calls in the months after). The mess we ended up in resulted from Canonical not speaking with one voice, offering a deal that it later revoked.

@Kosta Kontos: The idea you proposed puts more power in the hands of Ubuntu / Canonical, not less. By taking cash from users and distributing it upstream, that cements Ubuntu / Canonical as the power broker in the chain. It’s an option to push cash upstream, but it definitely does not create a stronger upstream. It creates an upstream that becomes more and more dependent, and therefore, more and more supplicating to, the distribution.

It seems like there are 3 FLOSS business models. 1) sell support, 2) sell the code for non-FLOSS use, 3) sell ads. Model 2 use is essentially making money from proprietary software, model 3 is not applicable to many cases and is particularly difficult for an upstream. I really like László Monda’s idea. However, again, it would serve to increase the power of the distribution.

I think a better model would be to create an independent, somehow stakeholder owned, platform for cash distribution. Kevin Kelly has a very insightful article on what people will pay for in the network economy. I propose that one or more of those ideas must be at the foundation of a stronger FLOSS ecosystem.

For example, I would be willing to put money behind the bugs or features that really affect me, as László Monda proposes. The stakeholders would be open source projects and users (individual people or businesses providing cash). If the stakeholders were able to influence the direction of the organisation, and it was truly independent, it could serve to both strengthen and diffuse power in the FLOSS ecosystem.

A throwaway thought, if the whole FLOSS ecosystem was 10 times larger, many upstreams might reach a critical mass and be able to formalise commercial structures around their work.

I found your one point particularly important – namely “Ubuntu’s success is linked to the success of Canonical”

Now you went on to share that Ubuntu’s current revenue stream (support-related services) is probably not sufficient to keep Canonical afloat going forward. However I recently read somewhere that Canonical is steadily approaching break-even. Mark – perhaps you can clarify this?

Regardless of this, in my mind, Canonical’s financial health is a given (be it through Mark’s pocket or support-related fees). I think the main point of discussion here is how do we give more power to the upstream FLOSS providers?

Back to Tumbes2000’s comment – the idea of using a bounty / karma to encourage the elimination of bugs / implementation of new features strikes me as pretty neat. If this was formalised and globally recognised, it could make for great decoration on one’s CV – which, apart from the actual bounty fee – ought to be sufficient incentive for hobbyist open source programmers to get the work done.

As the comments seem to have turned to the topic of what Canonical should do to “succeed”, I’m going to put my two cents in.

One of the biggest reasons why Ubuntu hasn’t yet become a mainstream success is because the software selection is not nearly as good as that for Windows or Mac OS X. The big problem here is not that there just isn’t any open-source competitor to the commonly-used Windows and Mac apps (MS Office, Adobe CreativeSuite, …), but it’s that most of these competitors provide a sub-par user experience. For example, the feature set of the GIMP should satisfy any normal Photoshop user, yet, whenever I introduce this piece of software to anyone new to open-source, they’re always discouraged by its unwieldy user interface. And the reason why ODF adoption is so slow is because the suites that have ODF as their default format provide an inferior user experience to Microsoft Office.

So what can Canonical do about this? I don’t think merely funding projects is enough, because most of these projects have had enough funding to improve the UX more radically and not much happened. Canonical could collaborate with the UX teams of certain projects and fund initiatives it finds interesting. I also like what elementary seems to be doing — tweaking and collaborating with projects to get their desired experience (Midori, Nautilus elementary, even Ubuntu). It’d be great if Canonical offered suggestions to UX teams of important projects, and if the developers refused to cooperate, then perhaps Canonical could create their own shell to the software (like it has done with Gnome), assuming that it had enough funds for this (and I think this is actually much more important than, say, bringing Ubuntu over to Wayland).

I still think that a timed license, a “turnaround” license could do much good work to the free software ecosystem. Imagine a license for a proprietary software which has a clause that says the software will automagically become free software at a given date, or after a given period of time elapsed, say 6 months or such. Updates, new versions could go the same way. Indie developers could make their profits and ensure the free software movement about surely getting their free stuff relatively soon. Buyers of such software would become donors to the free software world.

In some more radical way, such a license could ensure users that the software will become free software after a given period of time or after generating a predefined revenue. So a software company could openly publish on its website the revenue generated by its software, and upon reaching a predefined goal, releasing the product as free software.

I think that such licenses would broadly encourage free software users to put money into the free software ecosystem.

First of all, I’m glad to see that you are considering the question how to make the free software economy more viable, and to encourage more commercial contributions. Having been a decided free software enthusiast for a whole decade now, I totally support your position that company involvment is crucial to the success of free software, and that we need more of it for GNU/Linux to make an impact on the Desktop OS market.

The argument you are presenting here is pretty interesting — it was quite refreshing to read. Yet I must admit that I do not entirely agree with some of your premises…

You are rightly observing that all revenue created with GNU/Linux distributions goes to a few big players — and in fact mostly one in particular. While one might argue they they simply understand the free software market better than their competition, this would be only half the truth at best. Indeed it is quite obvious why the standard distribution market favours big players: such distributors are pretty much offering the same software to all their customers — so clearly there is a strong economy of scale.

But is it really true that almost all the revenue generated with free software goes to these few distributors? I’m not so sure of that. While every GNU/Linux customer obviously needs some standard distribution, they also need other things. So they usually contract some kind of consultancy, to look at their requirements, and provide them with a solution — which will typically include services such as designing a software architecture; selecting appropriate components; making necessary customisations; setup; training; support. The companies providing these services are not as big, and thus also not as prominent as the distributors; but they are very successful, and growing in number and size. They don’t need to be big: they are providing individual solutions — so there is no strong economy of scale here.

I believe that discussing the free software economy, it’s usually not helpful to single out the standard distributions as a distinct group; but rather to look at the larger group of integrators, which includes both the standard distributions and the solution providers. With that in mind, I think a much better balance of power becomes evident, than from looking at distributors only…

Let’s continue on that theme. After pointing out the importance of a balance of power, you conclude that we need stronger upstreams (in the form of companies), to compete for revenue against integrators. However, I wonder whether this kind of competition is actually helpful? And is the dominance of the integrators really a problem? Indeed it seems to me that development driven by integrators is actually *better* for the quality of free software at large: while component owners are interested in making their components stand out as much as possible, integrators are more interested in making the *complete* offering more attractive to users — which actually means components being *less* perceptible, so they form a more consistent whole. In fact I believe this to be one of the major strenghts of the free software economy. (I touched on a related issue in one of my favourite rants: http://tri-ceps.blogspot.com/2009/06/one-shell-to-rule-them-all.html )

This point is actually a bit moot though, as I don’t believe that development driven by integrators necessarily means weak upstreams… An integrator generally won’t provide all the services himself — this would be very inefficient. Rather, for each important component, we need a few companies focusing on this component — gathering expertise around it, and thus being able to offer relevant development and other services much more efficiently. An integrator will pass on any non-trivial requirements regarding specific components to the companies specialising in these. We already see such companies forming around major independent free software projects: be it GNOME, KDE, Linux, GCC, Drupal, PostgreSQL…

So all in all, I think the free software economy is actually set up pretty well — we just need more of it! And honestly, I can’t think of any fundamental obstactle that would prevent that. I think the major missing piece right now is awareness: among businessmen in general; but even among free software enthusiasts, and companies already dipping their toes in free software — many simply don’t realise yet that gathering expertise, and offering services around a free software component, is a very viable and successful business model. That lack of awareness is what we need to change. Once people at large understand the possibilities, I have no doubt more companies will invest in free software development.

Note that copyright ownership doesn’t figure anywhere in these considerations. In a business based on expertise, it’s simply not necessary. Indeed it would be detriminal to the success of the component in question, and thus any company offering expertise around it: a project with an asymmetrical copyright situation is less interesting both to developers and users. Other companies and individual developers can’t participate on an equal footing, and thus are not likely to participate at all. In such a scerario, other companies can only really compete by offering completely distinct software packages — whereas one of the major advantages of a true free software economy is the ability of companies to be competitors, while sharing the codebase! It is not only more efficient regarding the amount of useful software produced from a certain investment, but IMHO also makes for a more effective balance of power. Indeed the whole *point* of free software is users not being dependent on the developers — and for commercial custormers, the ability to switch the service company while staying with the same software is possibly the strongest manifestation of the freedom. An asymmetrical copyright situation effectively negates what I believe to be our strongest selling point.

This is a crucial aspect, which I fear you have somewhat neglected in your considerations: in the end, the strongest motivation for companies to participate in free software, is being able to offer a convincing selling point for the customers, which can really drive demand in the long run. “Open Core” and other proprietary relicensing models based on asymmetrical copyright are mostly a sham — and smart customers are able to see through it. Let’s not bet the commercial success of free software on them.

It’s getting a bit tired now Mark. People don’t “need” to do anything unless it suits them. The weak minded people you drag into your little cabal aren’t going to be of much value to you in the long run.