> For myself, I'd like to > distribute it completely under the terms on the GPL, but I realise > that if I do this, the library will be restricted in the uses it will > be put to. This is a valid concern, which can be addressed pretty easily. For people who won't accept the code under a copyleft, you can sign a license with them that allows them to ship binaries, requires them to pay you something, and in addition, requires them to send you back any changes they make to it (e.g. simultaneous with any release they make). If you add one more term, which requires them to notify people who receive the software in binary from them, that redistributable source code is available from you for some nominal price, then this is a very interesting compromise. The company can treat it much like proprietary software, you collect something from them (per copy, or per year, or per release, or whatever you agree on) to pay for your trouble in merging their changes into your own sources, and the end-users still have the option to get the sources at a minimal price (from you). And end users who are serious about this can maintain it themselves, pass copies around, etc. There are some companies that won't stand for this -- e.g. if they are gluing your code into the guts of some much larger piece of proprietary software -- but most companies who won't deal with copylefted software simply don't want the hassle of making source releases of the firmware for their logic analyzer or toaster-oven. If you take that burden off their shoulders, and make it look much more like a standard source code software agreement, then they can maybe be happy. And you can spread your software into another user base, and pay the rent in the meantime. You might want to make a provision that handles what happens to the "commercially licensed" software when you die or retire. One advantage of the FSF copyleft is that in that circumstance, anyone can pick it up from the original maintainer and carry on from there without any negotiation, probate, interruption, or anything. > The money part is really not that important, but if someone > is going to profit from my work, I'd like a piece of it. Now this is a whole different issue. Examine your motives here. You are profiting from the sendmail software that moved this message from my screen to yours. Did Eric Allman get a piece of that profit? (answer: no; he was paid to write some of it, but not per-copy-shipped.) I take the let's-stand-on-each-others'-shoulders-instead-of-each-others'-toes approach: The computing environment gets better and better over time (like human society) because of the efforts put in by the previous generations. I have them "pay me forward" by giving me some good tools when they come into their own, rather than having them "pay me back" by charging them rent on the work I did. > Also, I want to > maintain control of my work. These two reasons are why I'd never put > anything into the public domain. This is yet a third issue. Realize that if you let a copy out under copyleft (e.g. FSF license), you will not be able to maintain control. Any person or a dozen people can make alternative versions, and if your version isn't the best, and the other folks continue to maintain the software, they will gradually squeeze you out. If you're really spooked about this idea, free software is really not for you. For myself I'm glad that by the time I get tired of some software, there are usually other people who want to keep moving it on. I wrote the first public domain "tar" program, which was posted to comp.sources.unix back in the mid '80s. I maintained it through various versions and ports. Eventually GNU picked it up and made GNU Tar based on it. About once a month or so I get a query from some poor user who got a binary version of my old "tar" program, ported to MSDOS by a low quality programmer, and can't figure out how to make it work with their DOS-specific tape drive card or something. I can't help them -- my version never even ran on DOS, and these losers invariably lack sources -- and it annoys me. But I also think that my software has been incorporated into a bunch of commercial systems (e.g. turnkey accounting and CAD systems), and it wouldn't have been, had it been copylefted. Overall, were I writing a new piece of software from scratch, I'd copyleft it today rather than public-domain it, to encourage the changes to drift back toward me (or around the net to the end-users), but that's just a personal choice. John Gilmore