Rule 0: Do not make a framework.
Ask yourself if you should be making a framework given that you are not in the business of making frameworks. Believe it or not, most of us have the urge to solve problems completely and in the general case as our first inclination, but getting things done requires not doing so almost all of the time.
Rule 1: Do not have dependencies on other 3rd party frameworks.
Frameworks should be modular and standalone. They should require nothing but the standard system libraries in order to run. If the framework relies on other functionality, it should encompass it entirely. If it cannot, it probably violates Rule 3.
Rule 2: Use a non-viral open-source license like MIT or Apache, NOT GPL.