Thursday, December 16, 2004

a startling realization

after reading the bajillionth talkback, email and blog that arrived in response to my blog's slashdotting today i came to a startling realization:

the vast majority of people out there who use Open Source software don't know how it gets made and what makes it possible to compete in a world of standards and technologies that are a mixed bag of open and not-open.

hacking together a 10k line program to do something specific in your spare time is one thing. creating a desktop platform, a file & print service, a web server and attendant software stack, an operating system or a world-class database is something totally else.

two things (among others, of course) are required to have large scale, complex Open Source software packages that rival or surpasses that of commercial, closed-source equivalents:

1) resources. conferences, standards committee involvement, hardware, bandwidth and even a few salaries here and there are pretty critical to getting large scale Open Source programs off the ground and sustained over the long haul.

look at the recent FireFox funding drive, or how Sun almost exclusively bankrolls Open Office development (Novell's been getting involved lately too) or how MySQL Inc drives MySQL development, or how many of the main Linux kernel developers work during paid hours on it or the size of the yearly budgets for projects like KDE and GNOME. it's undeniable that these things take resources. in fact, most of the projects could do with a lot more resources, but make do with what they have.

these much needed resources come from those who have them, and usually that means companies, governments and to a lesser extent educational and R&D institutions. that means having these people interested, which means offering something they need and/or want in return. that "something" is usually an attractive technology stack with a large user base. and this is not evil or anti-Open-Source-ethic: this is fair trade.

2) developers. developers aren't magic time-traveling elves (though that is one of my favourite sayings these days ;). in fact, developers come almost exclusively from the user base. a small user base means a small developer pool. look around and check out the user base <=> developer ratios in projects. projects with low visibility and small user bases tend to have small numbers of developers relative to the developer pool available in that niche.

now the commonality between the two points above is that for Large Scale Open Source projects to be sustainable (aka "viable") they need a large user base. take away the user base and watch the resources and developers evaporate. without resources and developers watch the development slow down like a mountain stream during an ice age.

that's why i ponder the future of our user base and why i connect that future to the viability of large scale Open Source projects. that's why i grow concerned when i see a way for a vested interest to cut off our air supply (our user base) being handed to them.

this isn't about taking over the world, or the Free Software Fanatics club or any sort of weird incomprehensible agenda. it's simply that i've seen first hand by being involved in the trenches what fuels the KDE's, samba's, Linux and BSD's, Firefoxes, PostgreSQL's and OOo's of the world. take that fuel away and Open Source development will return to what it was in the early 90s: a very cool but pretty much irrelevant topic.

personally, i don't want to see that happen.


p.s. for those who seem to think i'm some sort of Free Software zealot: i get paid to write closed source software. i even own the copyrights to a few pieces of commercial, closed source software that are in production use by clients of mine right now. i'm a pragmatist, which i know is a bit hard to grok in this day and age of popular reactionism.

if i do have any agenda, here it is: i nearly left the computing industry for good in the mid-90s because it became boring and a world of corporate controlled lock in. Open Source made it interesting for me again. i also see great, non-trivial social benefits that can come from Free Software. ergo i want to see it succeed, which means be around in a form that is useful to may day-to-day needs in 20 years.

9 comments:

Illissius said...

Current situation: KDE has a large user base on Linux (and some on various other unixes), none on Windows
Then, KDE gets ported to Windows. One of two things happen:
- KDE gains a large following and user base under Windows and sustains it. Result: KDE has a large user base on both Linux and Windows.
- KDE either bombs on Windows, or is successful for a while before being crushed by Microsoft. Result: KDE has a large user base on Linux, none on Windows.
If the second were to happen -- which, as far as I've gathered, is what you fear -- it certainly wouldn't be a good thing, but asides from the somewhat wasted effort of porting it, what do we lose? Looking at it from a pure risk-rewards point of view it seems to me that the potential gains are huge, and the risk slight. At the worst, we get the original situation back. If you're worried about KDE making a bad impression, then the simple - if not exactly easy - solution to that is to make the Windows port awesome. If you're worried that the Windows users wouldn't be able to develop for KDE (though I'd think that someone wanting to do development would make the switch to Linux if necessary), then again, the simple but not easy solution is to port the tools necessary for development as well. So it seems there wouldn't be anything wrong with a Windows port, as long as it's done right.

Unfortunately I think I /still/ don't understand what you're trying to get across. In your original blog, you wrote that when porting individual apps to Windows, those apps gain from it, but open source as a whole loses, or something to that effect. So it seems that the point I discussed above is not the one you were trying to make. However, you also said somewhere that it's not Free software on propertiary OSes you have a problem with (AIX, Solaris, etc.); just the fact that Microsoft has the means to crush software on its own OS. But that brings me back to the original point; if Microsoft wipes it out on Windows, that doesn't mean it can't keep existing on Linux, just like it is now. I get the feeling that I'm missing an essential part of your argument somewhere, but can't exactly pinpoint where. Could you explain, please?

Anonymous said...

Aaron, you've become very patronising.
You are not an all seeing god. If a lot of people disagree with you over something, it doesn't necessarily follow that you are right. Or wrong.

I'm sure you've been pissed off by some comments here, but really, you are letting your standards drop.

Notice that none of this comment was about the subject at hand.

rjw

Aaron J. Seigo said...

> In your original blog, you wrote that when porting
> individual apps to Windows, those apps gain from it, but
> open source as a whole loses, or something to that
> effect

the apps gain in the short term. there is no doubt in my mind that there is a short term gain. the question is mid-to-long term viability.

> just the fact that Microsoft has the means to crush
> software on its own OS.

the means and the desire and the history of doing that. yes, this is exactly the risk we face.

> But that brings me back to the
> original point; if Microsoft wipes it out on Windows,
> that doesn't mean it can't keep existing on Linux, just
> like it is now.

Open Source desktop software exists on Linux right now because there is the potential for it to catch on corporations and governments. KDE1, windowmaker, blackbox, Enlightenment are all products of the era before that was possibility. i love them all, but KDE3 / GNOME2 they aren't.

if we don't have ISV support at some point, if we don't have a steady draw of resources and a steady draw of new developers, if we don't have a steady user base then we will regress back to those levels IMO.

we have awakened the desktop giants, namely Microsoft and Apple, and they are both remaking the desktop landscape and actively trying to cut off our air supply of resources and users. it's a non-trivial task to keep up with this level of movement, especially as we are still trying to just achieve parity on so many fronts (while on other fronts, we are far ahead).

in other words, i believe that growth is the only way that KDE3-like projects are sustainable.

Apache, the Linux kernel, MySQL, Samba, etc... have all achieved enough adoption to be sustainable. interestingly, Apache and MySQL did this at least in part through Windows ports (esp MySQL IMHO). there are very different dynamics in the server software world than there are in desktop GUIs, however.

anyways, i'm starting to ramble... unlike all my other posts? ;-P

Aaron J. Seigo said...

> Aaron, you've become very patronising.

if you read half the email i've received in the last day and a half, you would be amazed at the level of naivety that people posses on these topics. which is fine, because i'm naive on virtually every topic in the known universe of thought. i don't go around lecturing plumbers on how to install toilets or architects on how to make blueprints, though. i like to think i have slightly better sense than that.

now, i've received some really well thought out arguments, both pro and counter to my blog, and i appreciate those conversations.

it's the ones that say things like "who needs users? we'll always exist even without users or developers or resources because it's Free software and Free software never dies!" or "it's all about choice! you can't limit my choices!" that are so blatantly off the mark that make me take a step back and consider the level of understanding among the people who have visited my blog over the last few days from /. (my blog is not intended for that audience, btw)

if these people wish to make informed decisions, they need to be informed. if the above blog entry is obvious to you, then you aren't the audience for it. if the above blog entry is a new idea, then maybe it is.

> You are not an all seeing god.

i don't think i am. what gave you the impression i did?

> If a lot of people disagree with you over something,
> it doesn't necessarily follow that you are right.
> Or wrong.

of course not. nor does a lot of people agreeing with me mean i'm correct or incorrect. so i agree with you.

however, a lot of people are getting some of the most basic things very wrong (like Open Source not needing users or resources to sustain itself). whether my original blog was correct or not isn't of issue in this entry, really; what is at issue is dispelling one of the apparently common myths held by large swaths of the user base: that somehow Open Source magically arrives and will always do so.

it's like Peyton when he figures that food comes from the grocery store. he's right that that's where we get it from, but it's a vast trivialization of the real process. his naive conclusion is completely defensible and understandable due to his lack of experience in this world. but that doesn't mean he should never learn about where the food at the grocery store actually comes from.

there are, most certainly, far more interesting points of discussion than "Large Scale Open Source requires resources to be sustainable", many of which were positted by people with a lot of experience in the trenches of Open Source software. and perhaps i'll write a blog about those points some day. who knows.

Anonymous said...
This comment has been removed by a blog administrator.
tweedledeetweedledum said...

This blog is awesome! If you get a chance you may want to visit this software development site, it's pretty awesome too!

EQQU said...

Like your blog, Ill check back, please check mine out: Email

Mike said...

Help! I am lost. I was searching for free software downloads and somehow ended up here. How that happened I don't know, however I do like your Blog a lot. Would you mind if I add your Blog to my favorites page so others can visit?

SEO said...

Nice Blog, My site is:
software