I'll be interested to hear your thoughts on open source development for dotLRN.
In following this project, I am struck by how many different things people are talking about. It seems there are three things that are really important.
1. dotLRN will create changes in OACS. Those changes in either existing pacakges or creation of new packages for OACS need to have a path into the main OACS distribution.
2. dotLRN will have community participation in the coding of an application delivered to client.
3. dotLRN will provide and application and code base that others might want to build on for their own purposes.
In the case of number 1, I totally buy the "release it when it is ready" concept. No need to incorporate elements of dotLRN into the OACS release until those elements are tested and client ready. At the same time, releasing information on those elements could be incredibly useful to the community... someone is working on a revised bboard, but has no idea if the dotLRN bboard would meet their needs. So documentation only seems logical.
In the case of number 2, dotLRN is not really an open source project... it is a a project where a vendor (OF) is using an open source toolkit to produce a client work product for MIT. Too my mind, there is no place for open, rolicking community participation in that process (sorry, too many years of consulting for corporate clients in my background). As a moral issue, of course, as soon as the thing is delivered to client, it should be released back into the community.
In the case of number 3, it seems that there is no problem releasing the code and documentation. People will go on their merry way with no effect on the client project.
Now of course, this analysis is basically the opposite of what Al Essa laid out in the first post of this thread, but it is a very appropriate way to run a client project.
And finally, the "release early, release often" mantra really only works for open source software development... development where multiple companies and individuals are working together on a project. Where all parties are making a contribution and taking the code in the direction of their collective enlightened self interest.
Since that is not the case here, it seems logical to wait until the client deliverable has been finished, then release it to the community, then begin building an open source development community around it.
And since OACS is already such a community, it seems the only action required on the part of Open Force is to release the software back into the community after the client deliverable has been completed.
Now, if part of the client deliverable is to build an open source community around the dotLRN software, this logic still holds up. The important thing is to finish the client deliverable, release it to the community and start building the community around the folks that come out of the woodwork and are recruited into the community.