Thursday, February 09, 2006

Sources of best practices

Which sources could be used to find best practices for free software development? There are several good places to start from:

  • Successful projects such as Apache, GNOME, KDE, Linux, Debian, Ubuntu, Fedora, Gentoo, BSD, Eclipse, JBoss, Cherokee, Liferay, etc. Some of these projects have clearly visible practices which are even sometimes written down. How are the practices of different projects related? What are their consequences? It should be considered that some of the projects listed above are similar but others are completely different so while they probably share some good process practices other only make sense within each project's own context.
    Apache is one of my favorites because it has grown up from one project to 29 top level projects and lots of subprojects and has gained the respect of both the free software and the closed software world. But most important about apache is that they have been able to establish a strict set of rules to guarantee that all its projects are truly free and that are developed using a collaborative model (no one controls the project by his/her own). This rules have been based on known good practices so the questions that come up are: to what degree they are respected? How do they relate to project success?

  • Quantitative measurement of libre software projects: A line of investigation which has already provided nice results by analyzing several kinds of data produced by the projects such as the source code created, CVS logs or mailing lists. These studies can, for example, discover what practices are being used by a project and then correlate them to the grade of success of the project to determine if they are good practices in that context. The studies can also provide valuable information about context of the project which, as was explained in a previous post, is necessary in order to be able reuse a best practice.
    A group of the Universidad Rey Juan Carlos at Madrid, the GSyC/Libresoft group has published several very interesting papers about their results with these type of studies.

  • Articles which provide information about the experience of individual people with free software projects. Starting with The Cathedral and the Bazaar and continuing with lots of replies either of appraisal or proposing a different model.

  • Inspiration of software development processes usually associated to the development of closed source products. Mostly from agile methodologies that promote self organization and the books and articles about organizational patterns. SCRUM is a very valuable source of information. It is a software development methodology (with a very deep theoretical background) which establishes a very low ceremony process

  • Results of several surveys performed to open source developers which show how they are organized and what are their motivations. Some interesting questions which may be answered by them are: how is evolving the volunteer to paid worker ratio of free soft developers over the year? What motivates each of them?

My next posts will be exploring each of these sources of information.


Post a Comment

Links to this post:

Create a Link

<< Home