As a plain flat tagging structure might be appropriate for tagging pictures it is probably not enough for tagging software-projects. Software Projects have lots of different viewpoints from which you could apply tags to it.
This brought up the idea of aspect oriented tagging, where tags are not only connected to a single project / release / file or code-segment, but are also connected to an aspect which is going to be tagged.
Aspect could maybe be replaced with viewpoint, facet, paradigm, domain, view, leading point or angle.
Example of different aspects under which a project could be tagged:
(This list is just a first suggestion to explain what i mean, probably we should put some thinking into this :)
(maybe enterprise viewpoint, information viewpoint, computational viewpoint, engineering viewpoint and technology viewpoint as defined in RM-ODP could also be helpful)