(This page is for technical and team-issues: arguments about whether it's economical for particular situations can go elsewhere.) It's not MagicFairyDust, but free projects tend to do some important things well: * IntegrateOften * ReleaseOften * CodeStewardship -- key developers act as filters on changes by less experienced developers * ContinuousIntegration * VersionControl * ReleaseEngineering These things are carried out in some projects, but not all: * comprehensive UnitTest''''''s - though in some cases it's easier just to release and let pre-release testers test in the real world. Easier isn't necessarily better. ''I don't like this list. Whoever wrote it was blinded by XP. The reason WhyFreeSoftwareWorks is because the programmers who write it are also users of it, and so add features and fix bugs that are important to them. It works because there are so many people working on it that bugs get found quickly. It works because people work on it for pride and satisfaction in a job well done, not to please their boss. These are just as important as the points above, even though they are not XP practices. -- RalphJohnson'' Free software works because there are already established standards (TCP/IP) and reference implementations (Unix) which reduce the architecture, design, and communications overhead for free software collaborators to near-zero. When you try to do anything novel, you find that free software ''doesn't'' work because emailing some collaborator across the planet can never replace face to face interaction. In particular, it is generally impossible to do PairProgramming for most FreeSoftware. Another reason WhyFreeSoftwareWorks (at least in the Linux camp) is because it leverages the fanaticism of its developers and users. Yet another reason is because it leverages unused academic talent, as well as university funds. And a final reason is because software is an instance of applied research so the same model (and all its associated warts) of free collaboration which applies to academic research expresses itself as FreeSoftware. It also works because its users are also testers. Many more users of free software will report a bug because they will usually get the bug fixed without paying money for it as opposed to many commercial products, where you have to buy an upgrade. -- DougKing