From: Austin Ziegler Date: 2003-07-12T09:17:20+09:00 Subject: Re: OT: GPL - was Re: My brief and torrid affair with Ruby. On Sat, 12 Jul 2003 08:40:36 +0900, Josef 'Jupp' Schugt wrote: > * Austin Ziegler; 2003-07-11, 20:40 UTC: >> Licensing is orthogonal to development methodology. While open >> source programs are *more likely* to be "bazaar" development >> methodology, and closed source programs are *more likely* to be >> "cathedral" development methodology, the choice of licence does >> not guarantee a particular development methodology. > There is no strong corelation but there is at least *some* > correlation so there is no orthogonality. No, I don't think that there's any statistical correlation to open/closed and bazaar/cathedral. I can make my code open source but choose to do all of the work myself. My development model is cathedral in this case; others can fork my code and choose a different development model if they don't like the direction I'm heading (either as a developer or otherwise). I'd actually argue that most open source projects begin as cathedrals, and only gradually become bazaars as people start using it and clamoring for more and contributing more. I'm certainly taking that approach with my Ruby PDF library, even though I'm sure that others smarter than I am could help out with parts of it (of course, I'm dropping bits and pieces of side technology into the public as I go along, such as Transaction::Simple[1]). Most of my other libraries have had little other involvement by their users to this point. (Of course, I don't make the CVS available for most of them -- mostly for technical reasons -- but I do accept patches, bug reports, and diffs.) >> Two points should be made. (1) A selling company must give the >> source to the customers > Note that they must only hand out the source if they explicitly > ask for it. They need not distribute it with the binaries. True, and an important clarification. It's usually easier, though, to make sure it's readily available. If you're shipping the binaries as a CD, just shoehorn the source onto the CD, too. >> One of the conditions of the GNU GPL is that you cannot encumber >> redistribution. In this way, it's a good thing. > Of course this depends on the point of view. You're right. I've stated previously that I don't actually care for the GNU GPL. However, I think that if your goal is to encourage redistribution (as opposed to making code available for people to use how they wish)[2], then restricting further encumbrances is a good thing. It makes your own license heavily encumbered, mind you, but that's a choice one makes. >> The practical problem with an "ask for permission" scheme is that >> it depends on your contact information being constant ... even >> after you die. That'll happen, right? So if you've died with an >> "ask for permission" scheme and have *not* specified in your will >> what will happen at that point, anyone who wants to use your >> SuperAwesome library will be SOL. Same if you change email >> addresses. > Note that a last will like 'After my death all programs I wrote may > be distributed without any restrictions' is dangerous because it > allows for a quick-and-dirty solution of all re-destribution > problems > -> Indeed. -austin [1] The irony, of course, is that this perfectly good and non- intrusive technique isn't going to work for PDF::Writer, and I'm going to have to use a much more intrusive technique for it. I think it has something to do with the fact that the objects are heavily circular (yes, Marshal handles this to a degree) and that by time I call it -- early in the process -- I'm generating Marshal strings that are 160kb+. It'd be very nice to be able to identify certain variables as "do not marshal," without having to create my own marshal string as I can go through and reparent as necessary. [2] The parenthetical is my goal. I don't care how people use my code as long as they don't claim it as their own. -- austin ziegler * austin@halostatue.ca * Toronto, ON, Canada software designer * pragmatic programmer * 2003.07.11 * 20:00:28