Valve has opened up Team Fortress 2's full client and source code, encouraging players to 'change, extend, or rewrite' the game in any way they like. However, all mods must be released for free.