poisondart said:
With the exception of the example with neighbour Bobby (which directly
utilizes my code for profit, in which case is a definite no), I don't
see why your other examples should make me reconsider releasing my
software for free.
I don't think he's trying to make you reconsider releasing the code for
free, he just wants you to think about what you want to happen in
certain scenarios - There are no right or wrong answers, but your
answers will help you decide what license you want to release your code as.
You publish a magazine and include a CD with my code--you are using my
code to attract readers (this, I did not agree to).
Well, depending on what license you use, the agreement may be implicit
in the license. (e.g. the GPL allows Steven to do this, a Microsoft type
EULA doesn't)
The example with colleague Betty does not say whether she has debugged
my code and sold it for profit. If she does, then she will have done
something very selfish in my view--also undesirable.
What's selfish? The fact that she debugged it? The fact that she sold
it? The fact that she debugged it and didn't give you the corrections?
Your answer will help you decide what you want in a license.
If she hasn't debugged my code...what is she doing selling my property?
It depends on how you look at things. She might not be selling your
software - she's selling a list of bug-free and stable programs, which
happens to have a copy of your program on the same CD. If you allow free
redistribution, this is implicit. She's distributing your program for
free (allowed by your license), but is selling her value added service
of certifying that the program is bug free.
I plan to release my programs for academic and pedagogical purposes.
The knowledge contained in these programs is the same knowledge that
people use to speak a language--did you buy a copy of the English
language when you decided to learn it?
This is why I feel that it would not make sense for me to sell my
programs for profit.
You have several things going on here:
Although it might not make sense for *you* to sell your program for
profit, someone else might think it worthwhile. Do you want to disallow
this, why or why not?
Secondly, you should distinguish between being *required* to purchase
the program and being *able* to purchase the program. Just because
Barney is selling a copy of the program doesn't mean other people can't
download it for free off of your website. They *could* pay for it, but
they can also get it for free. Using your English language example, no
one sold me a copy of the English language, but there are a number of
companies which have sold the "knowledge that people use to speak a
language" to me in the form of dictionaries, thesauruses, and grammar
guides over the years. I'm no less free in using the English language,
but Merriam Webster still can make money by selling it back to me.
> The competitor Barney--This is exactly what I _don't_ want. What's he
> doing selling my code?
Last point to consider. Say you make a restrictive license. No
commercial use. No redistribution. etc. Barney comes along and ignores
the license - distributes the program, sells it for loads of cash.
What are you willing to do? Send a nasty letter? Barney isn't a nice
guy. He doesn't care that you've sent him an angry letter. He'll still
sell your program - he's making loads of money. Are you willing to sue
him? A license doesn't mean much unless you're willing to back it up in
court. Are you prepared to spend years and $$$$ to make Barney stop?
If you aren't making money off of it yourself, having a restrictive
license isn't going to help most hobbyists/academics, for the sole
reason that they don't want to go the the effort required to enforce it.
If all you want is to make sure that your program is always available
for free to academics/the general public, just use a lax license (like
MIT) and provide it for free. So what if someone else charges for it?
They can always go to you to get it for free.
If you're offended at the thought that someone else might be able to
make money off of your program, then a certified "Open Source" license
isn't really going to help - one of the requirements is no bias against
fields of endeavor - they specifically mention the "no commercial use"
clause as forbidden.
http://www.opensource.org/docs/definition.php
That doesn't stop you from choosing a non-"open source" license if you
want - just be aware that that license choice may substantially affect
what the community is willing to give back to you.