Free and open-source computer-aided design/Creating an advanced open-source CAD application
There needs to be an effort to create a high quality open-source CAD program with capabilities matching those of high-end commercial CAD packages. This is key to opening up the full potential of open collaborative design.
There should be serious effort put in to making the application as intuitive as possible from the outset for people who are new to 3D design, by giving them a simplified user-interface, built-in tutorials, animated overviews and access to a wiki-compiled handbook. It is very important not to put users off while taking their first exploratory steps, as it is easily done. The more people that take part in open collaborative design, the richer the 'universal commons' will be for all.
Picking from the universal commons
Easy access to tagged and categorised parts, assemblies and whole machines from an indexed 'copylefted' 'universal commons' through a browser panel built-in to the CAD program. This should make it easy to create a starting point for a new project by re-using bits and pieces that other people have already made. Most of the effort of a new project can then go towards creating new parts and evolving the concept, rather than duplicating the effort others have already done.
Proprietary off-the-shelf components and assemblies could be browsed and incorporated into the user's model too, although they would not be part of the freely available universal commons. It might be that these items just show the external envelope of the part, it's interfaces, connections, mass and volume, but not commercially sensitive internal details.
- Text, audio comments and recorded model manipulation can be attached to a part to explain the function, concept or decision relating to it.
- Wiki-type features relating to all changes to part or its meta-data. Meaning: Log of all changes to the part (and by who) giving an unlimited 'undo' history. This applies to comments and notes too.
- Shared sessions with Voice over IP and multiple pointer representation. Meaning: multiple users can look at the same model, talk to each other and point and select things on the model at the same time.
- Distributed revision control allowing and encourage massive parallel development with visual 'diffing' and merging capability