Except where otherwise stated, I currently choose to waive my copyright to the work on this web site, which (if I am the sole author) leaves it in the public domain so it may be distributed modified or unmodified without any copyright restrictions. Attribution would be much appreciated but is not required since I know it can be a hassle in some contexts. "Currently" means the policy does not apply to work added after the policy is modified, though like most licenses, it is irrevocable for work it currently applies to. The policy does not apply to anything under https://mattmccutchen.net/private/ ; if the license of such items is not marked, please confirm it with me before relying on it.
I'm no longer committed to the extreme position I previously stated below, but I still believe that the costs of any license requirements outweigh the benefits for this site at this time. (2014-09-10)
Why did I choose public domain and not one of the many Creative Commons licenses or the GNU General Public License? Below is an email conversation I had about licenses with Constantin Berzan (email, blog), a fellow contestant at the 2007 International Olympiad in Informatics, in which I explained some of my reasoning.
Constantin Berzan However I find it hard to release anything into public domain. How would you react if some company started selling your code without even mentioning that you are the author? This is why I find the GPL / Creative Commons more appropriate. [just my humble opinion; you probably have very good reasons to choose PD and I'd like to hear them] Matt McCutchen Constantin Berzan wrote: > However I find it hard to release anything into public domain. How would you > react if some company started selling your code without even mentioning that > you are the author? I would consider the company's action rude but otherwise wouldn't care. As for selling: Users can still obtain the code from me for free; if they pay the company for it, that's their mistake. As for attribution: It's nice if copies of my work floating around are attributed to me, but I don't feel hurt by the existence of a copy that isn't. In the event of a dispute over the authorship of the code, I don't think releasing it as public domain makes me any less able to prove my authorship. Thus, I currently do not see a need to try to enforce attribution of my own work using something like the Creative Commons Attribution License. However, I have complete respect for others who enforce attribution of their work. > This is why I find the GPL / Creative Commons more > appropriate. [just my humble opinion; you probably have very good reasons to > choose PD and I'd like to hear them] The GPL's requirement that distributed derivatives be offered under the GPL with source is more interesting. Richard Stallman justifies it ( http://www.gnu.org/philosophy/pragmatic.html ) on the basis that it increases the amount of free software available. This is probably true to some extent. I have the greatest respect for the FSF's work in creating a body of free software that does most of what users need, but I do not share its ideological conviction that non-free software is worthless. If someone wants to distribute a non-free derivative of my work, let him; he's still adding to the total amount of software available. If I can persuade him to offer it for free, that's even better, but I think it is wrong for me to coerce him to do so using the GPL. I also avoid the GPL because any license short of public domain creates needless hassles for developers and distributors, who must document the licenses of all the components they use and check that those licenses are compatible and give them the authority to grant the rights they wish to grant on their final product. Sometimes license conflicts even make it illegal to write useful software (such as a port of Sun's ZFS filesystem driver to Linux: http://en.wikipedia.org/wiki/ZFS#Platforms ), which is ridiculous. Public domain material can be added to any project that uses any license without any legal concerns. On the whole, based on the evidence I see, I currently choose to put my work in the public domain. It's conceivable that I might change my mind. If you have more reasons for the GPL or Creative Commons, I would like to hear them. Constantin Berzan You wrote: > If someone wants to distribute a non-free derivative of > my work, let him; he's still adding to the total amount of software > available. If I can persuade him to offer it for free, that's even > better, but I think it is wrong for me to coerce him to do so using > the GPL. Opportunists then get "something for nothing". Of course that's very {noble,altruistic} of public domain authors, but I don't think big projects such as the Linux kernel or KDE would be as successful as they are had there not been the philosophical "warm & fuzzy" feeling that all that one does goes to the whole of humanity and no greedy company can steal it. > I also avoid the GPL because any license short of public domain > creates needless hassles for developers and distributors, who must > document the licenses of all the components they use and check that > those licenses are compatible and give them the authority to grant the > rights they wish to grant on their final product. Sometimes license > conflicts even make it illegal to write useful software (such as a > port of Sun's ZFS filesystem driver to Linux: > http://en.wikipedia.org/wiki/ZFS#Platforms ), which is ridiculous. > Public domain material can be added to any project that uses any > license without any legal concerns. In a perfect world, licenses would be negotiable with any reasonable project. Insoluble incidents such as the ZFS or cdrtools are pretty rare, but still cause a lot of problems. I see your point. Matt McCutchen Constantin Berzan wrote: > Opportunists then get "something for nothing". I don't see your point. Every user of free software gets something for nothing. > Of course that's very > {noble,altruistic} of public domain authors, but I don't think big projects > such as the Linux kernel or KDE would be as successful as they are had there > not been the philosophical "warm & fuzzy" feeling that all that one does goes > to the whole of humanity and no greedy company can steal it. I find that view of the "warm & fuzzy feeling" misleading. With or without copyleft, the work goes to the whole of humanity and no greedy company can steal it in the sense of hindering users' ability to use, distribute, and modify it freely. The only difference is that copyleft makes it more difficult for a greedy company to "embrace, extend, and extinguish" the work. (I say more difficult, not impossible, because the company could always write its own non-free extended implementation from scratch.) You may be right that fewer people would have felt motivated to contribute to Linux and KDE if they were public domain rather than GPL-licensed. However, I would dispute any claim that the GPL is the only reasonable choice for all projects. Eclipse is a splendid example of a non-copylefted program that has attracted a large and vibrant community. Many commercial IDEs based on (and derived from) Eclipse exist, and I think this is a good thing for two reasons: 1. Eclipse has served to standardize what would otherwise be dozens of mutually incompatible IDEs. If I need a feature that the free Eclipse lacks, most likely one of the commercial IDEs has it; I can buy the commercial IDE and get an easy upgrade path. 2. Often a company's developers code up enhancements to the free Eclipse to either help them do their jobs or make the company's Eclipse-based commercial IDE work better. AFAICT, more often than not, these enhancements get contributed back to the free Eclipse, benefiting all of its users. Notice that Eclipse has been embraced and extended, but not extinguished. In my view, the Eclipse project exemplifies how a free software project should operate. I recognize that the GPL has several advantages over public domain, potentially including (1) greater difficulty of "embrace, extend, and extinguish"; (2) attraction of more contributions; and/or (3) greater amount of free software produced. Still, I personally prefer public domain, primarily because I feel very strongly that my work should be incorporable into any project without hassle or conflict. As I said before, this decision is based on my own subjective evaluation of the available evidence. I won't vilify GPL supporters or rule out changing my mind at some point in the future. Constantin Berzan You wrote: > Constantin Berzan wrote: > > Opportunists then get "something for nothing". > > I don't see your point. Every user of free software gets something for > nothing. Getting something they can use for free is one way to grow. [Sidenote: in Moldova most Microsoft products are pirated, and not fighting that until recently has been a great way for them to ensure a market where most people are dependent on their products and don't even know anything else exists.] I meant they get something for nothing, that they can sell. In my own biased opinion I deem it unfair for anybody to sell someone else's work after making improvements to it (short of rewriting from scratch). The line between pragmatism and ideology is pretty blurred here... Of course changes in the commercial version can be included in the free version as well, at the cost of duplicated work. A theoretical story: 1. The open source world comes up with something related to word-processing that is completely new and revolutionary. It works with a free document format. 2. A company reads the code, ports it to their own proprietary document format and includes it into their commercial office suite. 3. Since they have the biggest market share, the 'invention' is seen by most people as the company's achievement. Their office suite gets more popular and their wallet thicker. The open source world has a lot to lose in this simplistic example, but it can be avoided by retaining certain rights to the code, and paying attention to marketing. (I suppose this example fits into 'embrace, extend, extinguish.') > > > Of course that's very > > {noble,altruistic} of public domain authors, but I don't think big > > projects such as the Linux kernel or KDE would be as successful as they > > are had there not been the philosophical "warm & fuzzy" feeling that all > > that one does goes to the whole of humanity and no greedy company can > > steal it. > > I find that view of the "warm & fuzzy feeling" misleading. With or > without copyleft, the work goes to the whole of humanity and no greedy > company can steal it in the sense of hindering users' ability to use, > distribute, and modify it freely. The only difference is that > copyleft makes it more difficult for a greedy company to "embrace, > extend, and extinguish" the work. (I say more difficult, not > impossible, because the company could always write its own non-free > extended implementation from scratch.) Yes, I think you got me convinced on this one. > > You may be right that fewer people would have felt motivated to > contribute to Linux and KDE if they were public domain rather than > GPL-licensed. However, I would dispute any claim that the GPL is the > only reasonable choice for all projects. I didn't intend to make the impression of claiming that :) > Eclipse is a splendid > example of a non-copylefted program that has attracted a large and > vibrant community. Many commercial IDEs based on (and derived from) > Eclipse exist, and I think this is a good thing for two reasons: > > 1. Eclipse has served to standardize what would otherwise be dozens of > mutually incompatible IDEs. If I need a feature that the free Eclipse > lacks, most likely one of the commercial IDEs has it; I can buy the > commercial IDE and get an easy upgrade path. > > 2. Often a company's developers code up enhancements to the free > Eclipse to either help them do their jobs or make the company's > Eclipse-based commercial IDE work better. AFAICT, more often than > not, these enhancements get contributed back to the free Eclipse, > benefiting all of its users. > > Notice that Eclipse has been embraced and extended, but not > extinguished. In my view, the Eclipse project exemplifies how a free > software project should operate. I didn't look into Eclipse's licensing before. Thanks for the insight. It shows good leadership and planning, and that there's more than one "right" way to do anything. Matt McCutchen Constantin Berzan wrote: > I meant they get something for nothing, that they can sell. In my own biased > opinion I deem it unfair for anybody to sell someone else's work after making > improvements to it (short of rewriting from scratch). > > A theoretical story: > 1. The open source world comes up with something related to word-processing > that is completely new and revolutionary. It works with a free document > format. > 2. A company reads the code, ports it to their own proprietary document format > and includes it into their commercial office suite. > 3. Since they have the biggest market share, the 'invention' is seen by most > people as the company's achievement. Their office suite gets more popular and > their wallet thicker. > > The open source world has a lot to lose in this simplistic example, but it can > be avoided by retaining certain rights to the code, and paying attention to > marketing. > (I suppose this example fits into 'embrace, extend, extinguish.') True, this is a danger. I suppose my strategy assumes that users are savvy enough to find the free work on which the commercial one was based and put credit where it is due. If so, then I don't have a problem with the company selling the derivative; the users know that they are paying for the *company's improvements* (if any), and they can use the free version instead if the improvements are not worth the price the company sets. If the users aren't savvy, I can see that an attribution or BSD-like advertisement requirement or possibly even copyleft might be helpful. I thought of another problematic scenario. I freely release version 1 of a program, and a company sells a version with added features. A user wants the extra features and thus buys the commercial version. Then I freely release version 2, which contains an enhancement over version 1 that the user wants. In order to get a program with both the commercial features and the version-2 enhancement, the user has to pay the company again to buy the upgraded commercial version, even though the company hasn't added anything new itself. I suppose the scenario could be fixed if my program's license had a requirement of replaceability within derivatives like the one of replaceability within consumer products in the GPLv3. However, currently I'm not convinced that this scenario is important enough to introduce a license (and all its accompanying hassle) at all. Constantin Berzan You wrote: > I thought of another problematic scenario. I freely release version 1 > of a program, and a company sells a version with added features. A > user wants the extra features and thus buys the commercial version. > Then I freely release version 2, which contains an enhancement over > version 1 that the user wants. In order to get a program with both > the commercial features and the version-2 enhancement, the user has to > pay the company again to buy the upgraded commercial version, even > though the company hasn't added anything new itself. I suppose the > scenario could be fixed if my program's license had a requirement of > replaceability within derivatives like the one of replaceability > within consumer products in the GPLv3. However, currently I'm not > convinced that this scenario is important enough to introduce a > license (and all its accompanying hassle) at all. Or you could have the application designed to delegate functionality to plugins, in which case the user could choose any combination of commercial and free features. The GPL wouldn't be a viable option then, because it prohibits free and non-free code from being linked together (and for a good reason -- see Trolltech Qt licensing.)