Free Gamer gives a recommendation for an asset management system, and suggests that free software projects should consider improving their asset management policies. This made me go back to thinking about the theory of open source projects, and to an opinion that’s becoming stronger and stronger in my mind – that the basic idea of “open source project”, as usually used today, is a little bit pointless.
Taking for an example the asset management issue, I think we should ask ourselves – is there really a point in having “your own” assets, in a project defined as free software? Meaning, when “your” assets aren’t exactly “yours” anyway, but are free for everyone to use?
I’m no expert on open source gaming, but from my modest point of view as having worked on a few (solo) projects – I think one of the best things the open source movement can do is stop thinking in terms of “projects”. Or at least, remove the link between “project” and “game”. I think the dominant idea for projects, where a group of people with different skills (programmers, visual artists, musicians, etc) team up and make a game from A to Z is a reasonable idea in the commercial world, but has no point in the free software world. If your assets are free for everyone to use, why keep them in your own asset management system? If your code is free for everyone to use, why put it in your own repository?
In my opinion, if we think outside the commercial world and imagine what’s the best way to work on free software, no project should include both code and art. Not only that, but a project should not include different kinds of code (engine, UI, AI) or different kinds of art (concept, background, sprite, music, sound, writing). Then, a “game” would be a combination of different, existing assets. I’m not saying one should not make new code or art especially for a game – but I think that code or art should be made with the purpose of being entered into a (single) public repository, so every game can later use it as well.
We already have one step in that direction – OpenGameArt. They have a great concept, but I think they’re not taking it far enough – we need more standardization, more participation from artists and programmers, mostly by turning OpenGameArt (or some equivalent) from a place where programmers look for art and sometimes remember to place their unused art, to a place where they manage their art assest from beginning to end. And most of all – we need to start having an OpenGameCode as well. The thought of open-source programming as having people browse someone else’s Git/Svn/Cvs repository and take code from there, has, in my opinion, almost completely failed. We need an organized code repository based not on game projects – but on basic functions. If I want a code for a good pathfinding algorithm I’m not going to randomly go into various RTS game projects and hope to find one – I’ll probably prefer to write one myself. But if we had an OpenGameCode – that would be a completely different story.