Subject: Choosing the Public Domain for Freecell Solver

From: Shlomi Fish <[email-masked]>
Date: Sun, 17 Nov 2002 18:05:58 +0200 (IST)

Linus Torvalds commented in an interview with him [1] that choosing
the GPL for Linux was the best thing he ever did. I chose the Public Domain
for Freecell Solver, and I believe that this is the best decision I made
regarding it.

I like to mock the GPL in any way I can and am fascinated by its many
complications and caveats, but don't think it is a bad choice for many
programs. Some software vendors (e.g: ncftp, FFTW, MySQL, Qt) and others
use it as a license for software they distribute and relicense it under
a different license for use within commercial applications.

I believe every intended project has its own suitable license that depends
on the project purpose. The common "everything should be GPLed" dogma is
not beneficial. Let me explain why the Public Domain is the best one for
Freecell Solver.

First of all, I chose it because I disliked using the GPL for my projects
at that time, and did not think too much about it. I had a working command
line program and wanted to release it to the public as soon as I could, so
I simply filled in "Public Domain" in the Freshmeat license box. I kept
the decision onward.

Now, who will want to use a Freecell Solver framework?

1. Users who want to determine if a board is solvable, a current position is
solvable, how to solve a position, etc. Manually.

2. Developers who want their applications to have solving capabilities for
Freecell or similar games.

Now, there are a lot of #2. However, most of them distribute it as shareware,
freeware or commercial software for some platform (be it Windows, MacOS, WinCE,
PalmOS or whatever) and cannot comply with what the GPL demands from them.
(they distribute it and the source is not distributed under a GPL-compatible
license). For them, a Public Domain solver library is a dream come true.
They can incorporate it into their programs and forget about it completely.

I think I can safely say that at present, Freecell Solver is the "Category
Killer" as ESR puts it of Freecell solvers. I believe no other solver
approaches its number of features, portability and availability. Now, in
order to make it into the category killer I had to invest a lot of work
(that's always true for making a category killer, as can be learned
from "The Cathedral and the Bazaar"). But the fact that it was PD and that
the benefit small-time Freecell vendors can benefit from it, always guided
me.

The license is the most important choice a software project makes. It is true
for the Linux Kernel (whose GPL nature gave it an edge over the BSDs), and it
is true for Freecell Solver. All the other solvers out there are either
proprietary of one form or another, or GPLed. FCS will always be the
de-facto choice because it is Public Domain.

Choosing a more liberal license can give your software an edge over a
competitor. That's why cURL (which is X11-licensed) will always have
a place despite the fact that wget is much more superior. Similarly,
FreeBSD still persists because it is not GPLed. Ogg Vorbis was relicensed
from LGPL to modBSD because vendors like to optimize it with Assembler
code and not release their changes. I think it was a wise decision.

Choose your license depending on what you want people to do with it.

Regards,

    Shlomi Fish

P.S: Writing a category killer can do wonders to your "Ego" (I.e: self-pride)
because you know you invested a lot of effort into it. But it does not
raise your self-esteem, AFA cognitive psychology is concerned. Still, even
pride and happiness are Good Things<tm>.

[1] - http://www.webreview.com/1998/04_10/developers/04_10_98_4.shtml

----------------------------------------------------------------------
Shlomi Fish        [email-masked]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

"Let's suppose you have a table with 2^n cups..."
"Wait a second - is n a natural number?"

---

From: "Nadav Har'El" <[email-masked]>
Date: Sun, 17 Nov 2002 18:35:08 +0200

> The license is the most important choice a software project makes. It is true

It is not as important as you depict it for single-developer projects,
such as your freecell solver, because you could always change the license
later if people ask you!

> for the Linux Kernel (whose GPL nature gave it an edge over the BSDs), and it

I think you are wrong - the GPL never gave Linux an "Edge" over BSD. If
anything, BSD should have been more easily accepted by commercial companies
because they can modify it without limitations. Indeed, Apache and X11,
both with BSD-like licesnes, became great successes and their commercial
varients just made them even more popular.

In my opinion (backed by the fact that I was actually was using Unix back
in the early 90s, when Linux and the free BSD variants were developed),
the only reason that Linux won over BSD was the fact that Linux was available
first, therefore "Linux Distributions" came first, at which point many Unix
fans jumped on the Linux bandwagon, and the rest is history; I don't think
any of that has to do with the difference between GPL and BSD licenses.

> a place despite the fact that wget is much more superior. Similarly,

I guess you don't actually use Curl, do you?
Curl and Wget were designed to do different things, and have different
strengths and weaknesses. Wget is more a file-fetcher (with options to
recursively fetch directories, etc.) while Curl is a more complete
HTTP protocol (and https, etc.) implementation. Curl is actually very good
at what it does, and I use it extensively.
In addition to being a shell utility, curl also includes a C library,
"libcurl", which lets you do anything that curl does from C-code. I've
also used this a number of times.

-- 
Nadav Har'El                        |      Sunday, Nov 17 2002, 13 Kislev 5763
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Preserve wildlife -- pickle a squirrel
http://nadav.harel.org.il           |today!

---

From: Oleg Goldshmidt <[email-masked]>
Date: 17 Nov 2002 19:11:47 +0200

"Nadav Har'El" <[email-masked]> writes:

> I think you are wrong - the GPL never gave Linux an "Edge" over
> BSD. 

Not just that, I think that LGPL would have been more appropriate,
making it easier to have, say, proprietary modules, since LGPL allows
linking.

What I have never checked is, did LGPL exist in 1991?

-- 
Oleg Goldshmidt | [email-masked] 
========================================================
First binary search algorithm         - J. Mauchly, 1946        
First correct binary search algorithm - D.H.Lehmer, 1960