August 7th, 2008

Open Source - good for a startup?

I like open source. I operate 2 linux servers which do their job very very well, and I’ve personally looked through some code of the JVM (that’s ’shared source’ but the point is there) which helped me figure something out. I even patched mplayer to do stuff I wanted it to do, which pretty much covers all 3 main ideas behind open source from a personal perspective: Use, Looking, and Modifying.

And yet, I don’t think it’s the future for software development as a whole.

Look at webservices like Reddit, basecamp, del.icio.us. None of them are ‘open source’. Yet they all extensively use open source and are in general written by upcoming, creative programmers. Depending on who you ask, web-based services are the future of software. I don’t see any Open Source happening there.

Similar sad story in the desktop world. Linux desktop still sucks (see rant on X window server below*), windows isn’t losing significant marketshare, and Os X in general beats the pants off of either and proves that it is possible to write something that’s just plain better. Why, exactly, do both Gnome (taskbar) and KDE (start menu) look so much like Windows?

Yet, looking at the development world, everything is open source, or at least shared source. You don’t stand a chance without it. Eclipse is open source. So is python and perl. java is a combination of open and shared source. Heck, even large parts of C# are more or less open source. All serious web platforms are open source (i.e.: jboss and jetty, Ruby on Rails, and django).

Might it be that Open Source works well in some areas but just doesn’t work in others?

Even kernel development is an iffy subject. Linux and FreeBSD are pretty neat, but solaris seems to be a lot more flexible in the kernel department. Given the general stability of linux and personally experience in how debian can update a box almost entirely without even letting the webserver go down, I’ll give this one to linux, though I’d love to see some sort of solaris/debian appear.

I think its because of what open source does to a programmer. Open Source is important first, making something cool is important second. That’s backwards. (I recall that gnome was started because KDE is based on QT, which is not GPL). Also, open source offers no obvious advantages:

Eric raymond said, Given enough eyeballs, all bugs are shallow. Yet it doesn’t seem to be true. I’m getting the feeling that a development team unfettered by bureaucracy and endowed with a caring attitude toward their product makes linux security bugs get fixed so quickly. Not its open source nature.

In general open source also doesn’t mean you can scratch your own itch. Many people have whined about X, it’s a very favourite thing to blast. Yet there’s still no one just getting rid of it. The only project I managed to actually patch was mplayer, which had some extremely nice and readable code. Damien Katz argues that Source is a horrible form of documentation and he’s right of course.

Open Source works in programming because the majority of serious users of any programming tools know how to derive benefit from the product’s open source nature. Anywhere else it doesn’t matter; there just needs to be a programming team with sufficient skill and drive to make a great product.

From the perspective of the programmers: Just because you open source your product, doesn’t mean you get a barrage of bug and security audits and patches sent to you. Products get security audited whether or not they are open source - they just need to be used lots.

To summarize, whether to open source or not? Irrelevant. As a client, go with a product backed by a programming team that you seem to trust. As a programmer, if you are making any development-related tool, open source it. If not, don’t. If it gets popular, you can. If you think you can sell it at some point, keep the option open.

Another interesting angle analysing the beneficial economics of open source (in the sense that in goes with free-as-in-beer most of the time) from spolsky here. It doesn’t explain what eclipse has to gain from being open source, but it certainly does explain what IBM has to gain from eclipse being free.

*) For some strange and as yet unknown reason, there are still no serious projects going on to just drop the X window system. Os X has an X11 grafted on as an afterthought. Heck, even windows has an X version. Why isn’t there a KDE or Gnome version that works straight off the framebuffer, no X required? Then emulate an X server like Os X and Windows do.

4 Responses to 'Open Source - good for a startup?'

  1. 1Cristiano
    March 5th, 2006 at 23:08

    How about opensourcing your product to get more developers, is that a fair and usefull use turning software open source?


  2. 2rzwitserloot
    March 6th, 2006 at 2:53

    If it worked, yes. But, that’s one of my points - it does NOT work. People don’t jump on the bandwagon unless either you’ve made something with a gazillion users (and you’re lucky), or it’s a development tool, in which case you only need half a gazillion users before any decently useful patch comes your way, instead of the full gazillion.

    I honestly don’t know of any medium-sized open source project that saved more time with patches submitted by others compared to the admittedly little trouble spent packaging up the source, setting up an CVS server to give read-only access to anonymous pservers, etcetera. There are a couple of king-of-the-hills like a linux kernel. Even eclipse, no joking matter, hardly EVER sees patches. Go look at their bugzilla site. Lots and lots of useful and detailed bug reports. Virtually none of them involve an actual honest to god patch or for that matter anything that has been derived by looking at the (admittedly HORRIBLE code) eclipse sources.

    So why is eclipse open source, again? By way of status quo developers get a bit turned off if their product isn’t, but other than the theatrics and news soundbites, how is IBM/eclipse foundation benefitting from the fact that I can look in the eclipse CVS repository in any technical way?

    Possibly the biggest turn-off to open source for companies?

    A few have tried it and gotten absolutely zip for their troubles and trepidations. Word gets around, boom, dead in the water.

    Software isn’t man readable as a rule. Interesting projects are virtually always large, and even the best written large project takes weeks before you can make any serious headway in what’s going on. Anything you can patch without weeks of code-scanning could be done by someone familiar with the code inside of 5 minutes - all he needs is a good explanation of a bug or feature. Something you can do without seeing any sources.

    nicely coming round to my main point: Open Source is for most projects an irrelevant property. It won’t help you in any way.


  3. 3redmar
    March 6th, 2006 at 19:59

    First of all, Open Source Software is not an holy grail in any way and i don’t know any OSS evangelist that evangelises it that way.
    It’s just another option for you as developer for publishing your work.

    “Might it be that Open Source works well in some areas but just doesn’t work in others?”
    This is just the whole point of opening up your source, use it when it gives you added benefits.

    Some interesting articles against the points you made: (just some random googling)
    http://www.internetnews.com/stats/article.php/3520066
    http://blogs.zdnet.com/BTL/?p=2589 (read to bottom for the point)

    The last url is making my point. If you fully choose for the OSS
    developing model you have to leave the traditional software business model.
    You’re going to focus on giving services on your software rather than selling
    individual software packages and stop there.
    This model supports the agile way of iterated development of software very well.

    Another points is the fact that all languages are getting more abstract and
    also more human readable. (while java and c# are fighting it out wich one harder to read)
    Take MDA for instance, if this is going to be adopted,
    we’re getting an almost drag & drop, clickable interface to our software wich leverages
    a lot of extra users(read; developers) that can help create (better) software. (i.e. domain experts)

    While i enjoyed reading your sort-of-rant on OSS i was missing a clean structure and
    strong point in it to be able to respond to all points you made.
    But i’m still bearing it.

    redmar


  4. 4rzwitserloot
    March 7th, 2006 at 14:52

    Welcome to the site, redmar!

    I know a few OSS evangelists. In fact, plenty. Eric Raymond has attached a great many irrelevant or wrong but very nice and poetic sounding properties to open source (such as ‘many eyes make all bugs shallow’). The cathedral and the bazaar is basically full of wishful thinking - none of it actually true in any useful way.

    RMS is even worse.

    Yet these two are in many ways the shining lights of the OSS evangelising movement.

    I’ll have see actual open source involvement by a significant share of your userbase to believe it. Just yesterday I spent 4 hours chasing down a very simple element in the new 3.2 eclipse sources (how to make markers in code that have a category, a new feature of 3.2. I did that as part of an improvement for the argus code watch plugin. Eclipse, and argus, are open source.

    I failed. This is as much a comment on eclipse’s source base, which is a mess, as it is on the actual technical utility of making your codebase open source, or going with open source products.

    Making your base open source means you need to get your money elsewhere, for example through services - or more generally stated, by selling complementary products. I’m not saying that once you’ve reached the conclusion that you’re going to just give something away for free, that you should not open source is. I’m saying: Do this only when you’re fully aware you won’t gain anything from it, and thus don’t do it if you think it might cause you problems along the way. For example because some investor is less inclined to buy or fund your startup if your free web service also comes with free sources to set up your own version.

    NB: I edited the main entry; I added a link to the economic side of FOSSing your source, by spolsky. It’s at the bottom.


Leave a Response

(Note: if you use a new name from an unknown ip address, your comment won't appear until I approve it. Anti-spam measure only, I don't censor).

Imhotep theme designed by Chris Lin. Proudly powered by Wordpress.
XHTML | CSS | RSS | Comments RSS