Yes and no. Yes, as in free to use and use as you please but no, because most software companies do not want anyone stealing their work. This is a pretty basic reason for not allowing free use of their software, but it’s not an excuse for not giving users the tools, tools, tools.
The answer to the second question is simple, and it’s what I believe will drive future growth of all free software. It’s something called “social license management” — I’ll come to that in a moment — but basically, your software can be licensed for use and free, but only under a social license that everyone shares and helps maintain.
Let me give a very very very very basic example. For free we offer an extension called PwnageToolkit that has the following license:
This is a very basic license. A third party can’t just steal your tool and start using it. They must provide enough source code that anyone can verify the code is theirs and follow its instructions. Without any source code PwnageToolkit could not be started to do anything.
This is not the case for social license management. As soon as your extensions reach a certain level of popularity, they are free to use, but they are only free as long you are not infringing on anyone’s work or distributing their sources.
Now let’s say a social license provider decides they want your extension — you know, like, if they really want to — and they decide to make two versions of the extension:
One with a social license which they will license their source code for free (and the extension itself is free)
With a commercial license which they license the extension only to an individual customer using a “paid upgrade” (which could cost up to $99) in addition to paying the license fee. (This seems like a small fee for an extension, but it’s much more than many people would spend on the product.)
Is this a good idea? Well, yes — you don’t need to share any source code with these social license providers, so it is possible you could still make the extension your own code without infringement. However, to do this, you’d also have to spend time going through their source code and doing everything that they tell you about what the extension will do. That would take time and money, and it would be too much hassle. Instead, let them make you the free version and let you use it however you like, without paying for any