Saturday, March 03, 2007

Making Software, Making Money

I am sympathetic with Dave Tosh's plaint. But only to a point. And not so far as when he says that open source does not work.

I hate to be the one to state the obvious, but: the fact that open source didn't work for Dave Tosh doesn't mean that open source doesn't work. No more than you would say, for example, that capitalism doesn't work because it didn't work for some failed businessman.

Let's look at what he says more closely. He writes,
Having worked on a true open source project for more than three years I am now more convinced than ever that the open source model does not work.

The project to which he refers, of course, is ELGG. This is a social-network slash content management system written in PHP. It has been reasonably popular, particularly in the education circles for which is is designed.

But - can I be honest? The PHP content-management system field is pretty crowded. It was crowded even when ELGG launched. There's Drupal and PHP-Nuke and Post-Nuke and Moodle. WordPress, for those who are more blog-oriented. And that's just the popular PHP ones.

And then on the social network side there's Friendster, Orkut, Linked-In and all the rest. LiveJournal, which has been around for ages (and open source, too). The market has been pretty crowded over there.

Here's the question to ask: would ELGG have had any measure of success had it been subscription-based software? Honestly, I doubt it. There was a niche, which was sufficiently small when it was free, and would have closed quickly were people asked to pay.

Tosh continues,

Sure, in an ideal world, it is the way to go. There should be transparency of data, users should be able to get stuck into the source code if they wish and tweak the software to meet requirements, customers should not be locked into long term contracts with vendors deliberately making it difficult for them to upgrade, change their service etc - that is in an ideal world, not the world we all operate in.

It is, in fact, the world I operate in. I don't deny that there have been challenges. And to be frank, I get really frustrated by open source code a lot of the time. Readers of these pages know of my struggles with Ruby on Rails, my wrestling with Drupal and my most recent bout of dissatisfaction with OpenOffice.

But I keep in mind - as I type in Firefox on my Ubuntu machine (I could use an Apple or a PC, they are both sitting right beside me here) - that Windows has cost me more frustration than all the rest combined. Outlook alone has been more of a problem than all the open source applications combined, and I don't even use it!

My world - as a 'customer' - is the one Tosh describes, and I won't go back.

OK, so what precisely is it that Tosh finds doesn't work in open source? I'll skip his short section on the advantages of open source and get straight to the disadvantages:

1) No real revenue stream outwith the big guns like Linux, My SQL and Apache - it is worth noting that this took years to build up and most of these project are backed by big business such as IBM.

There's a lot packed into that short statement.

Let's first begin with the fact that not one of Linux, MySQL and Apache had its origin with IBM or any other such company. IBM, when it tried to build an operating system, came out with OS/2. It was a failure - not because it didn't work, but because it didn't sell.

Next, let's observe that none of them was created with the intention of creating a revenue stream. As open source software goes, ELGG is almost unique in its intent to create a revenue stream for its producer. True, things like mySQL and even Moodle have made some money for their originators. But that isn't why they were created.

The successful open source projects did, as Tosh notes, take years to build up. They also benefitted from a fairly large development community. In a sense, generating developers is like generating sales. If people think the software is worth the investment, they'll add to it. But if it's a No sale - well, then, no developers.

Apache would have been nothing without millions of people building websites. Linux has benefited from XWindows, KDE, Gnome, and dozens of other applications. MySQL would be nowhere without the database-driven applications that extended its capacity. Look at Moodle and look at all the Moodle modules. Look at all the Drupal modules. This is in addition to the large communities working on the base code.

And that's the bottom line. Open source projects are not products intended to produce revenues. It is a mistake to think of them that way. Open source software is developed in order to satisfy a need, one typically experienced by the developers themselves, and an open source project is not a commodity, it is a community.

Yes, people need to earn money in order to live. This is true for every single person that works on open source projects. But making money from the open source product itself is very much the exception, not the rule, and depends on a lot of things falling into place.

2) You cannot get investment, which is crucial for growth, for an open source product released under a GPL license

Strictly speaking, this isn't true. Both Red hat and Ubuntu have benefited from investment.

More generally, though, this is a line I hear all the time. The line is that, in order to attract the venture capitalists, you have to have some intellectual property. Some patents, say, or some proprietary code. Because they need to be buying something, and if the code is open source, they aren't getting anything for their investment.

And, more generally speaking, this is true. Venture capitalists succeed by creating conditions of scarcity for things of value, so they can charge money for access to those things. The point of the initial investment is in order to take the thing of value from the concept stage to implementation. They objective - their only objective - is to create a return on their investment.

If you are selling to venture capitalists, then you need to play by their rules, even if they are short-sighted and predatory. Because they're the ones with the money. And venture capitalists really don't like things like co-ops and shared source and community development because they get in the way of ownership. And ownership is how VCs make their money.

So, yes, you need to get out of open source if you are going to sell to VCs. The question is, do you really need to sell to VCs to make a decent living? no. Of course you don't. Do you need to sell to a VC to create growth? No, again, no. Because if you hit that sweet spot, your problem will be too much growth, not too little. And at that point, you can develop a revenue stream and investment is surprisingly easy to obtain.

It's hitting that sweet spot that is the trick, of course. As hundreds of thousands of software developers around the world will tell you.

3) Open source works as a two way street - however the reality is that most people just take and then complain if it isn't quite right, hardly a fair balance.

That's because open source isn't about being a quid-pro-quo.

My relation with ELGG, if I am to be perfectly honest, is exactly as described. I haven't contributed one line of code to the software. Not one semi-colon. But I have made statements that could be called 'complaining', both about ELGG and the more recent Explode!

Is it fair, then, to describe me as someone that just takes? Well, no, that would be absurd. I am, I hope, well known for the fact that all the work that I do is available for free, to be used pretty much as the user wishes to use it. It is probably no secret that I am working pretty hard to make the rest of it - that bit owned by the Government of Canada - open as well. And in passing to free the combined resources of the government to the community.

Dave Tosh reads my newsletter every day (well, I hope he does ;) ) and yet he doesn't write a word of it. Do I complain? No. Because the whole point of what I do is that people will use it, and not have to do it themselves.

Yes, with open source software, it is nice to have more developers, especially people creating modules and skins and applications and the like (it's like the Steve Balmer dance... "developers developers developers developers"). But few developers doesn't mean that the open source model is flawed. It means the community doesn't need the application. I live with the same harsh reality. Few readers means that there is a limited demand for what I write. It's not pretty, but that's reality.

4) You get treated the same as a commercial product but aren't receiving any money for your goods or services. I can recall a situation where we didn't reply to a bug report within 36 hours and were completely ripped for it, yet my old institution accepted waiting 4 weeks for a response from Blackboard regarding a critical bug report for what was institutionally critical data - WTF?
So people act inconsistently. The person who ripped you for it would probably rip into Blackboard as well. Meanwhile, your institution probably doesn't expect to ever get a response from an open source project - they probably think four weeks is good service.

Also, people learn to treat you the way you define yourself. It has never been a secret that ELGG is a business and that the developers are trying to make money from the software. This is why they treat ELGG as a business. If it were clear that ELGG is a hobby, they would react differently (of course, they might not be using ELGG to begin with).

It's like Rails. I ripped into the Ruby on Rails in some of my previous posts here. Not because I thought Rails was a business, but because when I went to the Rails site or read what rails developers wrote, I heard nothing but about how simple it was and how automatic everything was. So I installed it, believing what I was told. And then it turned out that Rails did not behave at all as advertised, and I complained, bitterly, for having wasted several good weekends of my life on this stuff.

You told people you were a business. You were treated as one. Case closed.

5) You can't raise funding to work on open source projects if you are the developers - were you to talk about it or perhaps provide services, that is different but because you are directly tied to a 'product' it is seen as bias if public funding was directed your way.

Why not? This happens all the time. How many times have I seen people raise funding for their own projects? It must be in the dozens. The hundreds!

Just across the hall from me Rod Savoie, working with some people across the road at the U de M, developed a software application called Synergic3. They went out looking for people to invest in the product and raised, oh I don't know, something like two or three million from ACOA. They also got a major software company involved and are even dragging me into it.

The fact is, hundreds of things get funded every year, many of them open source, and a lot of that funding goes to the developers. The fact that yours didn't is unfortunate, but you can't generalize from that single case. It may be that the applications weren't sound, that they weren't supported by influential academics (yeah, I know, it's a stupid system, but...), or that the funders didn't see a need for the product.

But the mere existence of the hundreds of other funded projects (seen the E-Framework lately?) shows that this statement is simply false.

6) Open source projects which are deemed to be successful are often not truly open source - they can often hide many features, hold back developments and so on. With good reason - they need to in order to survive!

Care to give us an example of this?

The only cases like this I can think of are cases like Totem (or as I refer to it, the world's worst media player). Because most of the codecs are proprietary, they can't include them with the product. They have to be shipped and installed separately (with a nudge and a wink).

Yes, there is a lot of free software that comes, as they say, 'crippled' - WS-FTP was like that for ages, PaintShopPro started out that way, and the list goes on. But these free applications are not open source.

In fact, I think it's very difficult to create a crippled open source product, because (after all) you're opening the source.

7) Most people in the decision making positions don't seem to trust open source, the DFES/BECTA scenario is proof of this.

I wouldn't take DFES/BECTA as proof of anything. But there is no denying that open source faces competition from proprietary software in many environments, including many educational institutions.

It does not follow that all decision-makers oppose open source. And it doesn't follow that they oppose open source acros the board. After all, these same systems are using Apache servers. Some of them are using Firefox browsers. It's a pretty mixed landscape.

It's also one that is changing. After all, the gist of the story in the link is that the British MPs are lobbying for a change in the DFES/BECTA policy, so that open source will be allowed. I've been reading a lot of stories like that recently.

Tosh continues,
There are exceptions. However, by and large, most open source projects start out in good faith and fall by the wayside or simple remain as cool projects to tinker away on due to a lack of money.
Well guess what. So do most businesses. So do most things of any sort that people do.

It's like gardening. Many people garden. Sometimes people think that they can make money from their gardens, and so they become horticulturalists or farmers or something. Some of them make a decent living, and many others fail because they couldn't make the revenues cover the expenses, because they couldn't get people to buy their strawberries, or whatever. A very small percentage of people make a million from it - these are the DelMontes of the world, and usually what they have to do is to get the government to seize land from illiterate peasants or something.

And the vast majority of gardens remain hobbies. Not because of a lack of money. Not because we should always allow gardeners to seize land from peasants. But because it genuinely is a hobby. Something they do for fun and sometimes for the common good.

It is important that you do not confuse this with a lack of traction or a good product. Take Elgg for example; Elgg is the most popular white label social networking platform in the world powering over 2000 networks. However, Elgg could power 100,000 networks and it would make no difference - there is no revenue stream as we give everything away under a GPL license.

If there were 100,000 ELGG networks then it is very likely there would be a revenue stream.

Yes, the revenue stream would not come from the sale of software. Because that's not how GPL works.

For one thing, it would be a lot easier to get funding for ELGG projects. Funding agencies take 100,000 a lot more seriously than 2,000. For another, there would be many more opportunities to offer workshops and seminars. Moreover, the service and support market would be a lot larger. And finally, 100,000 is not a static market - chances are that software that has 100,000 users is on its way to a million, and with numbers like that the venture capitalists become very interested. Because even if you have licensed the software under GPL, you can still sell a commercial version.

The number does matter. It is foolish to think anything else.

Tosh continues,
If you transfer this to the web 2.0 market - most successful web 2.0 products had/have venture capital or angel investment of some description; flickr, youtube, facebook, myspace (founder actually sold spyware to make money, funny that), last fm - why? They are closed, commercial services where there is an obvious business model, investors can put their money into something tangible that can be acquired by a computing giant.
We have already discussed above the relation between proprietary software and venture capital. The VCs are only interested in things they can own, ethics be damned. That's why they're interested in spyware. That's why they don't care if YouTube was running 'pirated' videos; it's just a matter of risk versus reward.

What made these things successful was not that they were closed. People didn't look at them and say, "Oh good, closed software, I think I'll use that service." No, they were successful because they were popular, because they offered a service - including some services that just skirt this edge of the law - that people wanted.

So here's a formula for success - if you are smart enough or lucky enough to create a product millions of people will want to use, and if you are willing to sell user data and lock in user accounts, and if you are willing to surrender control of your company to VCs with an even lower ethical standards, then there is a one-in-a-million chance that you'll make your millions.

Most people decide that life is better spent doing other things.

Take the latest Cisco purchases. There are plenty of very good white label social networks out there; so why did Cisco pay out a rumoured $25 million dollars for crap technology? One can only assume it is because the services they bought were closed source and commercial, it was certainly not because those product were good!

Who knows why people buy software companies. Sometimes the acquisitions make no sense. It's like when Salon bought the WELL, for example. There was no proprietary software, no nothing, just a community of users. But Salon thought the name was worth the money (and many of the users are still there).

See, the presumption being touted here is that there is only one value proposition: proprietary software. But it's just not so. You can find a market for just about anything.

I remember when Slashdot was sold to Andover. It certainly wasn't because of the software; Slashcode was (and is) open source perl code. But it made the developers millions. And Slashdot is still out there today, attracting script kiddies like there was no tomorrow. Around that same time we thought we were going to sell NewsTrolls to Think Geek. We came close, but we didn't have the readership. There but for the grace of the internet gods go I.

Why did Cisco buy Tribe? Especially if they had already acquired Five Across? Perhaps they are clearing out the underbrush, so there's room for them to make a (much belated) social network play. Or maybe there's something much more interesting happening behind the scenes.

Therefore, what is the future for open source innovation? Developers need to live and unfortunately the current climate can and will turn many away from building true open source applications, and the reality is that most users won't care - they just want services that work, so perhaps there is a lesson in all this; listen to the user.

OK, well, like I said, I am sympathetic. How can Dave Tosh make money?

Well, he could get a job.

Because he is right in this, at least: if you plan to make and sell software and make a million doing it after just three years' work, then open source isn't for you.

Doing it commercially isn't either, though.

Either way, it's a long shot. And you really have to pay your dues. And you have to wait for the results to come in. And sometimes, you never make a million.

I mean, look at all the commercial applications out there. How many of them do you think made their developers a lot of money? Most of the stuff we see on the shelves was created by Microserfs slaving away in their cubes, the profits being made by the gnomes with the investment money.

Look at all the businesses out there. The millions of mom-and-pop restaurants. Only a small handful become a McDonald's or a KFC. Most restaurants fail. Sad, but true - people pick the wrong location, the wrong menu, the wrong chef, whatever.

Being in business for yourself means trying over and over and over again. In software, it means creating something new every few weeks, not working on the same thing for three years - at some point, if you're in it for money, you've gotta say, "Let's let this turkey go." Of course you keep supporting it, because it has created a community for you (aka the network you can use to launch new software). But at a certain point you say this software isn't working for you.

Personally, I think that if the ELGG developers picked up on Explode!, worked like crazy, did it exactly right, and got a lucky break or two, then it would acquire enough traction to create a revenue stream. Then this (coupled with the network) could be turned around and sold as a commercial edition to the business community. And thus the foundations of the enterprise that might actually make a million can be laid.

Yeah, it's a long shot. And i wouldn't blame Dave Tosh for saying that his failures so far prove that it is foolish to try to work for yourself or create your own business.

But my understanding of people who actually are in business for themselves is that the money is secondary. Just like in open source. The reason they work for themselves is that they like the freedom, the opportunity, the challenge, the creativity. And just so, people who work in open source like the community, the developers, the sharing and the software.

And now we come to the other side of the story.

Yes, Dave Tosh could work on proprietary software. Then, if the conditions are just right, he can make a living selling his creations.

More likely, he'll be faced with the need to do contract work or maybe even to get a job. Because writing software is a lot like writing - it's really hard to make those sales. Most people who do it professionally live in very little money.

But what will also have happened is that he will have turned his back on the community. I would not, for example, be criticizing his software. Because I wouldn't care about it (more accurately, because the bar is set a lot higher). I'd be very unlikely to mention it in the newsletter, and I certainly would never code any modules for it.

OK, sure, that's just me.

But most of the community would react that way.

Not because they hate Dave Tosh. Most people would probably say he's a nice guy. But now he's kind of like the guy who sells insurance or the guy who writes subroutines for Microsoft. They're nice people, but you don't see any particular reason why you should help them with their work.

Yes, there is a world out there, outside the open source community.

It's a world that I see a fair amount of, from my position. It's a world where 'community' becomes 'competition', where 'network' becomes 'rival'. It is a world of secrets and NDAs and underpaid labour and coding bad software because that's what the customer wants. It's not a very happy world and the people I meet are not anything like remotely as interested in their work as the open source community, not even those who are only doing it as a hobby.

Yeah. You can make a living selling proprietary software. Maybe. You can even make a million doing it. Maybe. But if you love making software, then it's pretty hard to give up the community and the camaraderie you would need to give up to make software and make a million selling it. It really does cost you your soul.


10 comments:

  1. For the item 6), there has been talks about how the PHP dev team doesn't/didn't want an accelerator integrated into the core because Zend was/is making money out of it.

    ReplyDelete
  2. Came here from a Moodle Lounge post.
    Interesting rebuttal. Of course, many of these points apply to any kind of project. For instance, I couldn't help drawing parallels with the world of music. Those who do it for money very rarely make it in the real world. Those who do it for passion or out of a sense of community always get more out of it than they put in. Some of them do eventually make reasonable amounts of money, but that's besides the point for most people. The only ones who care are investors. Even most funding agencies care less about the money a musical project will make for its participants. Usually, society as a whole benefits. It's not socialism or capitalism. It's social sense.
    On funding agencies, there might be some things to say about the public ones, especially in Canada. The system here usually implies open access to the results of work done with public funds. Whether it's research, software, music, or even manufacturing. If we can share, we will share. Makes perfect sense in terms of helping society as a whole.

    (BTW, Stephen, you say you're on the other side of the road from U de M. Are you at Georges Dumont?)

    ReplyDelete
  3. Stephen's response to David remined me of this article from 2005:

    Open source, open wallet
    I hope the bubble hasn't burst:-). It is true that one of the 'selling points' of Moodle over commercial alternatives is that it can be customized to meet a particular need.

    In fact, I will predict that will become the main reason for institutions who plan to fund large training efforts and web based/supported educational efforts will want to use Moodle instead of a commercial alternative: you get both the benefit of a very large and supportive community, and the ability to highly customize the learning environment to meet your goals.

    ReplyDelete
  4. I feel the need to reply here to point out that the assertions about our intentions presented here are wrong.

    Dave's reply is here, and I have some words to add.

    Additionally, to finally return to the argument at hand, it's clear that open source does work, but in certain contexts better than others. The best open source software is technical, server-side stuff where users tend to have the ability to contribute back, and Elgg the software has actually benefited from some excellent contributions from its userbase. The new site over at Elgg.org has been particularly successful in driving plugin development and discussion of ways to code for the system.

    However, there are often better models. FOSS needs a support base, of money as well as talent, and is best located within institutions or larger corporations like IBM if it's going to be more than a hobby project. It's no secret that a large number of Firefox coders works for Google, for example, just as a lot of Linux coders now work for IBM.

    It's extraordinarily difficult to make an open source business model work straight off the bat. That doesn't mean it can't be done; I'm currently sat in an office funded by open source money. I do think that, in general, open source is a better way to do things. I think in particular, the Free Software Foundation's goals are admirable. But we have to look beyond the utopian ideal of what we want, and see what's actually there.

    The question is: if open source is a better model, how can we encourage people to develop for it if they aren't going to make a living doing so? Insitutions and large corporations are notoriously bad developers - how can we encourage innovation in the sector?

    ReplyDelete
  5. ... Firefox developers work for Google. Ugh. If there's one thing I hate more than arguing, it's bad grammar.

    ReplyDelete
  6. How and if Open Source 'works' will change over time, and the funding for some projects is far from clear.
    However I have a paid job that allows me to engage with open source (partially in my own time), and I think that you Stephen have a paid job (please correct me if I am wrong), both of us paid from public funds. I am interested in the views of those who have given up paid jobs to work on Open Source projects, and I would be reluctant to suggest they should do it for love (sounds like women's work ;-) )
    In my work with Moodle, I have tried to use Moodle partners for hosting to redirect some of the funding I have obtained to development but I realise that this is a small gesture.

    ReplyDelete
  7. Having read Daves original post, Stephens reply and Daves reply to the reply, I get the feeling that we have an argument here about the same topic but from different angles.

    Most of us probably agree that there is little money to be made directly in developing open source software , however there maybe money to be made in supporting open source software. Looking at the recent history, Dave and Ben have realised this and set up Curverider as their option for making some money from supporting an open source social network software (ELGG in this instance).

    They are two seperate things, and Dave and Ben will need to decide what gets the priority.

    From where I sit, the balance of their efforts look to be tipped in favour of the ELGG community, but from reading Daves post it shouldn't be. Their 9 – 5 job should be Curverider, and selling its' wares. After hours stuff (their hobby) is then developing ELGG.

    It looks to be a typical (certainly from a British point of view) mistake of the hobbyist turn entrepreneur, and one which I have had to come to terms with myself. Community based activity is nice, but you don't generate money from it. Business activity is hard work and often requires hard decisions to be made, and when you are a small business, you get limited tome to spend on your hobbies.

    ReplyDelete
  8. Some pure FOSS business models work. Around Moodle there are companies such as Moodle.com and Catalyst that work a lot like ArsTechnica. Both growing and profitable.

    Engaging clients and fullfilling their needs in a competitive market is never easy. And the FOSS space needs some work to figure out how it works. But hard is not impossible.

    (Just in case anyone wonders: I work at Catalyst ;-) )

    ReplyDelete
  9. It's not really accurate to say that a large number of Firefox developers work for Google. There are several, maybe 4 or 5 at the most, Firefox contributors working for Google (mostly on Google projects) who also contribute to Firefox. Considering that we see code contributions from about 200 people on any given month, and that Mozilla itself employs about 60 developers, the handful at Google can hardly be called a large number.

    - A

    ReplyDelete
  10. eLgg now has MIT licenses so you can make a product. Plus, you can scale the heck out of any LAMP application.

    Check out curveriderhq.com and see that these guys are attempting to bridge Opensource power with good application.

    More power to them and all the best.

    ReplyDelete

I welcome your comments - I'm really sorry about the moderation, but Google's filters are basically ineffective.