I am currently working on a money tracking/invoice creation app that I intend to release for free. The app can be broken down to three parts:
- The Framework, a generic, all-purpose collection of classes (php/mySQL)
- The app itself (php/javascript)
- The design (images)
I am trying to find licenses that fit three different purposes:
- I want to release the framework under a license that specifies that
- The framework is open-source, free, and cannot be sold
- However, the framework can be used in commercial products, as long as no author names are removed from the code and the framework's source is available (a link to my sourceforge in the about page will do...Even little, hidden in a subpage, or in the FAQ, as long as people really looking for it can find it).
- Code that uses my framework doesn't have to be open-sourced. I don't want to stop people from releasing non open-source, commercial products. Too many times I have been blocked by this when working for a client, I don't want to inflict the same problems on the community. Furthermore, I will surely use my framework myself for closed-source projects for clients.
- I want to release the app part under an open-source, free license that disallows any attempt to sell it (but allows forks, as long as they stay open-source and free)
- I want to release the design (icons, backgrounds) under a free license for non-commercial projects only.
Additionally, If it is possible (if such a license exists), I would like to remove all constraints, even for commercial products, as long as the project is led by a one-man (or a one-woman) team. In other words, I'd like freelancers to be able to fully enjoy complete freedom, but have some restrictions for companies.
It might be worth mentioning that although the framework is totally custom code, the app will contain some third-party, namely jquery, and maybe some other javascript components.
I am aware this is a very specific question that doesn't necessarily helps the coding community, just me, but I don't know where to turn to.