典型的开源软件通常是由一个人开始创作的,所有的规划跟思路都在一个人的脑海中,当这个软件做到差不多能用的时候,换句话说就是能推出0.1版本时,通常会在一些公开场合发布之。 如果这个软件在当前这个状态下非常吸引人,那么这个时候就可能会有感兴趣的用户,用户之间会有传播,有了足够多的用户,就必然会有一部分具有开发能力的用户,他们可能从改进某个功能或者解决某个bug开始,慢慢走进或者融入这个开发团队。——而这个时候,这个软件相关的团队和社区就开始建立与壮大了。 下面来回答一些问题: 怎么分配任务。开源软件不存在分配任务一说,参与者凭的是兴趣跟信念以及自己的需求。通常来说,一个参与者)可能会根据自己的兴趣去进行修改,或者根据自己的需求,当一个参与者对某个领域或者模块特别熟悉时,可能会被安排负责解决某个模块中报告的bug,仅此而已,所以通常bug可能被分配,但功能很少被分配,全凭自己的兴趣。 如果你是项目发起人,要认识到其他开发者是来满足开发者自己需要的,而不是来帮你做事的,他们对你没有义务。这种需求有各种层次,例如社会尊重需求跟自我实现需求属于较高层次,但最基本的可能只是因为他们对某个环节感兴趣以及需要某个功能被改进为符合自己需求,因而,功能性任务一般是由每个开发者自发产生,而非被分派。
