Advertisement

What's better for everyone?

Started by April 23, 2011 11:18 PM
14 comments, last by Tachikoma 13 years, 6 months ago
This is a very important question for me. However, it's about software development in general, and not coding, so I couldn't find a better place.

Suppose a person has been working on some project for a long time. Most people tend to value their source code and might find it hard to make it open source. They might also want to earn some money from their work by selling it.

Throw all that away. Imagine this hypothetical person wants absolutely nothing for himself and doesn't mind making releasing his source code and giving away the product for free. Even if someone else takes over it and never thanks the original person (i.e. takes credit for it).

The main goal of this person is to maximize the benefit to all people. Whatever is in the best interest of everyone.

What's the best thing to do to benefit all people?

There are a few options:
A. not release the source code, don't do anything at all.
B. release the source code into the public domain.
C. release the source code under some liberal licence that only asks people to keep the source open, not mis-attribute the authors, etc.

Option A: If the source code is not very impressive, it's probably not a big loss. Who cares whether or not some small timer makes his project's source code available. On the other hand, there is some non-zero chance that the source code might be in some way useful to other people, so it's better to have released it in the first place.

Option B: This makes it very easy for others to benefit from the source code. People can use it in their open source projects, in their closed source projects, commercial projects, etc. They don't have to do the extra work like mention the original author of the software. Less work for them is good. BUT! Big danger. What if someone takes all that public domain source code, says its his own, and makes it closed source/commercial!

Option C: This supposedly prevents the danger of option B. So it may be more work to make use of the source code, but at least it won't get stolen and sold.

What do you guys think?
Option A and B are the only logical solutions. I tend to dual "license" my works under public domain/WTFPL. It's better when you release code to have no attachment to it. That is don't care what happens to it. If you honestly care what someone does with your code then you should keep it closed source. Hope that helps.

I will point out that Option C is inherently evil. It's not free source code anymore if you use a license which keeps it open source only. That's a common misconception people make when releasing source code. Placing restrictions doesn't make it better for "everyone".
Advertisement
Sirisian, thanks for your input.

I see a flaw with your logic, please correct me if I'm wrong. You say C is evil, but B is good. What if you do B, then another person comes in, takes all of your source code, claims he wrote it all himself, then places much heavier restrictions by attaching a horrible licence.

Do you mean B is only better if the above scenario does not occur? Do you just have to hope for the best?
Option D: release it as Free software. Retain all copyright so that nobody can steal your code or claim authorship, but distribute it under a Free license such as the GPL so that anybody who wishes to redistribute the software generated by the source code must keep it Free (ie. distribute it under the same conditions and attribute authorship to you, the copyright holder). Anyone who receives the code is free to study or modifiy it as necessary, for example to make it work on newer hardware even after you, the original author, have abandoned it.

Everyone benefits, and continues to benefit, but nobody can exploit your work without threat of civil action.

Stephen M. Webb
Professional Free Software Developer

No option helps "everyone", so give up on that misconception. If you release it as 'open source' or public domain it is in danger of being closed and kept away from its original authors. If you make it 'Free Software', it comes with a religion attached and very heavy restrictions that make it a non starter for most commercial environments. That said, I'm a big fan of open source (MIT, BSD style licenses) that require attribution but not distribution of modified source, and I'm extremely wary of anything GPL. LGPL is generally acceptable for libraries but keep in mind that LGPL cannot be used on many semi-closed platforms (iOS, consoles).
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Thanks for the information guys, this is very helpful.

Personally, I'm a huge fan of software that is free because you can download and use it on any computer. You can put it in your Dropbox, etc. It just makes your life easier compared to things you have to pay for (keeping everything else, like quality of the software, equal of course).
Advertisement

Option A and B are the only logical solutions.

Actually there is not a notion of Public Domain or at least putting work into Public Domain in many parts of the world.

I will point out that Option C is inherently evil. It's not free source code anymore if you use a license which keeps it open source only. That's a common misconception people make when releasing source code.
[/quote]
FUD.


Shurcool it sounds like you are looking for GPL as pointed out by Bregma.
"You insulted me!" I did not say that in the private message Tom Sloper!

Actually there is not a notion of Public Domain or at least putting work into Public Domain in many parts of the world.

What does that mean? Can you not forfeit your intellectual property rights on your own work?

Personally, I'm a huge fan of software that is free because you can download and use it on any computer. You can put it in your Dropbox, etc. It just makes your life easier compared to things you have to pay for (keeping everything else, like quality of the software, equal of course).

Just keep in mind that the definition of 'free' differs a lot from one person to another.

I'm totally with Promit on this one. If you want to release your software free to use and as a benefit for everyone, but still avoid misattribution or third party ownership claims, then keep the copyrights and release it under a zlib/MIT/BSD style license. Some of the most widely used software libraries in the world use this approach, which is exactly the reason for their success. Take zlib for example. Or file formats such as PNG or JPEG. The latter are supported by virtually every existing image-related application in the world (open source and commercial) because they are actually free to use.

I'll refrain saying anything about the GPL, because I guess everyone here knows what I think of it.


Actually there is not a notation of Public Domain or at least putting work into public domain in many parts of the world.
[/quote]
The term is indeed a bit fuzzy. But it often means that you give up your copyright on the work. Or in jurisdictions where this is not possible (yes there are jurisdictions where you cannot forfeit copyright), you would give a global non-exclusive and irrevocable right to use the software without any limitations and without attribution to everyone. Except for small source snippets, this option is probably not what most people should choose for their code.


LGPL is generally acceptable for libraries but keep in mind that LGPL cannot be used on many semi-closed platforms (iOS, consoles).
[/quote]
Licensing under LGPL will also rule out the use of your code in most 'serious' commercial projects, due to some parts of the license being legally unclear.

I see a flaw with your logic, please correct me if I'm wrong. You say C is evil, but B is good. What if you do B, then another person comes in, takes all of your source code, claims he wrote it all himself, then places much heavier restrictions by attaching a horrible licence.

Do you mean B is only better if the above scenario does not occur? Do you just have to hope for the best?

If you release something as public domain and someone releases the code as GPL that just makes it dual licensed technically. Public domain code can be turned into any license. It doesn't remove or change the properties of the original license for the original distribution.


If you release it as 'open source' or public domain it is in danger of being closed and kept away from its original authors.

No that's actually not possible to change a person's public domain distribution into another license to restrict the original authors from that distribution. However if the authors release the code as public domain then another person releases it under GPL and applies the necessary header changes then that distribution is under GPL. It would not effect the original distribution.


[quote name='Sirisian' timestamp='1303601201' post='4802095']
Option A and B are the only logical solutions.

Actually there is not a notation of Public Domain or at least putting work into public domain in many parts of the world.
[/quote]
I mentioned WTFPL which is the license form of public domain with real rules. :lol:


[quote name='Sirisian' timestamp='1303601201' post='4802095']
I will point out that Option C is inherently evil. It's not free source code anymore if you use a license which keeps it open source only. That's a common misconception people make when releasing source code.

FUD.
[/quote]
Exactly. So many people think that when you release public domain source code that magically anyone can claim ownership. It's actually the exact opposite no one can really claim ownership but they can use it anyway they want. Wikipedia explains it best "public domain refers to works, ideas, and information which are intangible to private ownership and/or which are available for use by members of the public".Because of ambiguities though WTFPL is usually a saner "license".

Oh and I support the idea of using BSD or MIT. Those are fine licenses.

This topic is closed to new replies.

Advertisement