But really, they have good reasons to use the word "organic" there, because it is deeply embedded into their development process. It's not just a brand name.
Why is it organic?
Associations between "open source" and "organic" can be found back in 2001 - at Horde project's presentation in OSCON that year. The term "organic" back then was used in a much more literal sense than in Mozilla's case - Horde project's code didn't come into existence because the project founder planned it. The whole project - the code, the architecture, the features included and to be included, was grown, like a plant. If you look at academic references, it goes back even further. Back in 1986, Frederick Brook's paper, "No Silver Bullet: Essence and Accidents of Software Engineering" mentioned, "Incremental development--grow, don't build, software."
Horde started with rudimentary features and an architectural mess, but ended up with a large feature set and a well-designed architecture. A significant share of the project's features and designs were implemented or suggested by the external user and developer community, not just the project manager and his team alone. Outside of managing his own team, the project manager is very much just a filter - even in the absence of the project manager, community developers would still write new features and bugfixes - the project manager gets to decide what goes into the trunk and what doesn't. But he cannot decide with total certainty what features to develop and what features to include - the community comes up with new code independently; and rejecting too many of the suggested features (remember, a lot of those suggested features already come with working code patches) will typically cause a fork and rapid loss of market share.
So in the project manager's view, once an open source project grows to a certain scale, it begins to take on a life of itself - thus, organic. While the project team can significantly influence the project's direction, it's the community who sustains it. Even without detailed documentation, development does not stop when the a certain important team member leaves - there's usually more than one person who's been looking at any important part of the code base. And if the core team does a bad enough job - the good part of the code base will be forked to another project where progress can be made (e.g. X.org's fork from XFree86).
How is "organic" implemented?
All that is high level, wishful, stuff, it remains to be explained how organic software development actually works.
At the beginning of a typical organic software project, the project manager, and probably his team (if he has one), implements something simple that "just works". The initial version is a very simple piece of software that may even be very buggy. Why don't they take some more time to come up with a more polished initial version, you may ask? For a few good reasons:
- Since the project wasn't started with a clearly defined requirement from some customer (often there's no customer at all!), it's not certain what kind of feature the market wants. More features in the initial version would most probably mean more abandoned features later.
- As a result of 1, trying to polish the initial version will result in the code base being overengineered - because of the need to accommodate more useless features, the code base would be more abstracted, complicated and harder to understand than necessary. Scaring off community developers and even developers in the core team, and lengthening development time.
- Having a working code base (even a simple one) to develop on and test for is easier for developers than coding everything out of abstract UML diagrams and hoping everything would integrate well later.
- You can attract an external developer community as fast as possible by releasing an early prototype for them to try out and fiddle with.
Relevancy to today's software startups
So that's how many of today's open source software projects work - some of them are commercial and quite profitable, mind you. But what if your startup isn't doing an open source project?
Obviously, most software startup companies aren't going to release their source code like open source projects do. But when you consider SaaS companies, you can draw many similiarities:
- Because you're in total control of the software (it runs on your servers), you can change and update it as often as you like - just like an open source project. Suddenly, the open source mantra - "Release early, release often", makes sense. Release early means your market and your developers have something concrete on their hands as early as possible; release often means any discovered bugs are closed as soon as possible and you react to market signals as fast as possible.
- Although you can't let external developers look at your source code, you can give them an API so they can build upon your code base. This is the approach that Salesforce takes, and last time I checked, they're a highly profitable company. They're doing well even though they're competing against an open source counterpart - SugerCRM.
- While users of non-open source software may be less eager to give you feedback and advices, you can still get statistics of what they like or don't like by tracking their activities (e.g. mouse clicks) within your applications. It is possible, again, because you have total control over your servers and thus your software. Of course, if you can somehow form a user community as well, that's even better.



