Why open source software can succeed