I've done a lot of research on this, but I'm still quite confused.
I'm currently working on an Arduino-compatible software project. The project is open source, so I want others to make use of it as well, but I don't want them to create derivative works with closed-source licenses. I would like them to acknowledge any code used by them from my project as deriving from my work and would require them to keep their derivative work open source as well.
At the same time, I may want to create works in the future that build upon my project that are closed-source - for example, I wish to be able to use my own work in a piece of private, closed-source consultancy.
I think that GPL would be the most appropriate license for the first part. My question is, what license would cover the second part? And can I dual license that license with GPL?