I have the most interesting conversations while at open source conferences. A few weeks ago at CMS Expo I had a great conversation with Jeff Eaton about open source as it relates to things other than code. I'm not sure where Jeff had come up with the phrase, but he had recently realized that many of our best third party ("contributed") Drupal modules are "artefacts of paid work." Unlikely many other types of open source projects where a developer was "scratching their own itch", much of the Drupal ecosystem of code has been built by people who were paid for their time.
While this could open up the conversation to all kinds of interesting comparisons and rebuttals and agreements and disagreements, let's head off in a different direction instead. Contributing artefacts has made the Drupal code ecosystem incredibly healthy and a wonderful place to dive into when you are looking to deploy a Web site with a shoestring budget. There are, however, two main problems that we've not yet solved: designs can never be artefacts and training people has no residual artefact.
For the most part code is generic enough that it can be easily dropped into a new design and re-used without compromising the brand of the original site. This is not true for design. You can't design a new theme for Drupal and then drop it into the community for others to re-use. Design is not an artefact. Design components may be artefacts but there is currently no way to store these artefacts on Drupal.org. Contributed components relevant to Drupal include Lullabot's icons and Top Notch Theme's snippet and style repository. The Lullacons can be used outside of the Drupal project, but the theme snippets are only relevant in very specific use cases.
To help designers share their work in the Drupal community we need to define what an artefact is to a designer. Is it a font? An edge style for a div on a page? Is it a set of icons? What are the abstracted parts of design that, like the contributed code, are simply artefacts at the end of the design process. With the artefacts defined we then need to find a way to give as much weight in the Drupal code hosting system to these design artefacts as we give to code artefacts.
The second challenge is that of training. Artefacts of training may be the "learning objects" that we use to train our students--the handouts, the install profiles or the modules we ask them to build. The smart (or is that lazy?) trainers will find as many objects as they can from within the free Drupal resources. Teach developers to use api.drupal.org and you have trained them for life. But objects alone do not teach people how to choose a few relevant modules from the thousands that are available. They are about as useful as the .tar.gz file containing a contributed module without the Drupal core code base. Successful training needs to have a curriculum with defined learner roles and tasks and progression. Lots of companies (my own included) train people on how to use Drupal. The training resources that I develop for my students have a very limited shelf life. The pace of change is too quick to recoup development costs between each iteration of the software. In other words: I have no artefacts to share.
There are projects within the Drupal community that are looking to collaborate on an open curriculum. The Curriculum and Training Group has started meeting weekly on IRC. The Ubuntu project has an equivalent group. But these curriculum projects are not simply releasing artefacts of their paid work---they are trying generate something for others to use. This changes the dynamic of the participants substantially. For the professionals who train others for a living what is the incentive to participate? Their own itches are being scratched each time they teach their curriculum. If they release their artefacts will they lose students? (Paul reports they have not lost students from posting their read-only course notes.) The risks to sharing for the paid professionals is an interesting challenge that I do not have an answer to.
Are you a designer that can list artefacts of design? Do you see a way to share the leftovers of your paid work? Are you a paid professional with an open source curriculum (or at least freely licensed curriculum)? How did you do it and how has it affected your business?