Contributions in a FLOSS project seem to be all the more valuable when they are aligned with the overall philosophy, culture, and direction of a project. As some communities have been around for some 10, 20 or 30 years, philosophy/culture/direction are notions that are historically embedded and which have evolved through the social and technical life of a project.
In addition, a newcomer must have some understanding of the new social entity he/she she wants to be part of if that person wants first to be accepted by community members and then to contribute in a meaningful way. Communities such as Debian and Gentoo have a formal test-based process for people who want to become contributors to ensure that.
Starting from this idea, I browsed through some of the FLOSS project websites looking for project resources that would provide some kind of project history (involving both social and technical aspects that have been relevant during the life of projects) and had to admit that few projects have dedicated pages about the overall project history. I will not say that I did an extensive review of all the project websites, but a look at some of the most important projects tended to confirm the impression I had.
Debian for instance has some pages about project history and has tried to list the major events that happened throughout the various releases. GIMP or Gentoo also have such resources but I have to admit that the documents that I found were not very detailed, often incomplete and overall not very inviting. Another important aspect was that they were not easy to find from the website (I could only find most of them through Google searches and not from the project websites). I will let people who are experts in project documentation to comment on the quality of such documents.
The point of this post is not identify the projects who document their history and those who don’t but rather to raise the awareness of communities about the fact that this may be an important resource to have for potential newcomers. People do join FLOSS projects based on their interests and preferences but there also should be a fit between an individual and the social entity which he or she is considering of joining.
The historical context of a community has a strong influence on all the technical but also social actions that take part in a community. Technical and social aspects go hand in hand when it comes to understand context. A major technical shift in a project may have happened because of a change in project leader or because of a certain conflict that arose between some of the core contributors of the project.
With the limited knowledge that I have about FLOSS communities, I would like to suggest that within each project, some people shall be in charge of recording the ‘living memory’ of the project by focusing on the important technical and social events that have characterized the life of a project. This could perhaps be handled by members of the various documentation projects for instance since those people already have the knowledge and expertise to produce ‘good’ written resources. Whether you want to formally or informally ensure that newcomers do have an understanding of the historical context of a project before starting contributing, this is obviously up to the communities . However, it seems that such resources shall be highly visible and accessible for newcomers on project websites.
Compiling something like the history of the various Linux desktops and distributions would be some fun book to read especially if it includes a lot of the social aspects that have characterized each project … Anyone interested to work on that?