Q: Shouldn't the editors and the database check the data on entry so that only good data can be entered instead of checking it retroactively?
A: Yes and No. Some problems can and should be checked for. But other problems are hard to detect and many "sort-of problems" can only be classified by a human. Also things change (for instance some tags which are used now might become deprecated in the future) and programmers make mistakes, too, so it is better to double-check.
Q: Why are you checking OSM files and not the data in the database directly?
A: Currently that was the easiest way to get started. In a later stage it might make sense to implement the checks directly in the database or when downloading data through the API. We can think about that when we have actually used Maplint and found it useful.
Q: Can we write our own tests?
A: Sure. Just go ahead and implement them. If they are applicable for everyone, they will be added to the main list of tests. Some test might only make sense on part of the data, though. One could, for instance, have a test that checks that all motorway refs have the form "A<number>", which is always true in Germany, but not necessarily in other parts of the world.