I am considering starting an OSS project and would like some advice.
I would like to use a licence that allows free use of the project for personal and non-profit use but would allow me to charge for a commercial licence (like or similar to http://www.extjs.com/company/dual.php).
Could someone please advise or link to some articles on how to approach this? Thanks in advance.
As the Open-Source-definition describes, you cannot limit the usage of your project, if you want to stay open-source. In other words: you cannot forbid a commercial use for an open-source-app. So you can choose another (non-open-source) license, that fulfills your demands, or you choose another way.
One possibility is to release only the source under open-source-license and have another license for binary distributions. As far as I know thats true for Java. That works good, if the build of your app is somewhat complicated.
You can release your app under the GPL-license. That does not forbid commercial use. But if some derivate work is created, it has to be GPL-licensed too. That works well for libraries or similar stuff that isn’t used alone, but in a merged product. EDIT: As DrJokepu mentions, using a GPL-framework in a webserver-stack would help to avoid to release your own sources. That’s why one extension to the GPL is the Affero GPL, that need you to release your work under the same license (AGPL) even if you don’t release it, but only use it to build a public webpage. So for webservices you need the AGPL to achieve the same result.