How open should open source be?

On behalf of the NIH, TCG runs a project called the Neuroimaging Informatics Tools and Resources Clearinghouse, otherwise known as NITRC. It’s a resource for neuroimaging researchers who are developing or using software to analyze things like fMRI scans and other kinds of images and neuroscience data. NITRC is set to become the world’s leading resource for these kinds of tools and data by promoting open collaboration and providing the means to support it. To that end, an interesting discussion has cropped up — When should a project be open and when should it be private?

The crux of the question is whether projects such as these should be developed in a completely open way — with all-comers granted access to source code, documentation, and other artifacts — or if they should begin privately and only released when ready for broader consumption. There are definitely two schools of thought on this. 

Google and many other companies pilot new projects in a “closed beta” for many months; that’s how GMail started, for example. The product is only opened up for general use after it’s proven among that closed beta group. But these are not open source projects, of course. They’re products that are being developed, and access is only ever granted to users, not contributors. The focus here is on developing a product that will delight the broader user population, and not just those brave early-adopters. 

Opening new projects to the world from the beginning has a great number of advantages, too. A community can be developed quickly, the project can benefit from the minds of many rather than a few, and work can be shared to complete the project faster. The downside is that early adopters will clearly need to fend for themselves. Early versions will be buggy and there will undoubtedly be failures along the way. If a project opens itself up for that, and cannot support users who may be unprepared for the realities of early-stage software, it could quickly crumble under the weight of unrealistic expectations and demands for product support. 

So what is the best way? To take part in this debate, head on over to the NITRC forums and add your voice to the discussion!