Subject: Re: free software as a delivery vehicle for lisp From: Erik Naggum <email@example.com> Date: Tue, 02 Apr 2002 06:43:19 GMT Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * Jon Allen Boone <email@example.com> | Erik, you give an example where a collection of non-open-source patches | were not accepted verbatim by the vendor. Well, they took the form of requests for future enhancement, and some have been adopted verbatim, but most have been taken more seriously than I expected and led to more fundamental changes, such that my local patches would still apply, but have a destructive effect, instead. | Presumably, one benefit of the open source model is that even if the | local patches are not accepted by the vendor [project lead], you still | may be able to find other people who can assist you in the integration | process, thereby assisting you in amortizing the cost. | | Is that something that you could have (did?) do with your ACL patches? Well, I had the freedom to be that integrator for others. Basically, they are still at 5.0.1. | If you couldn't have, would it have been helpful to you if you would have | been able to? I think Franz Inc believes that anyone who builds an application on top of Allegro CL is actually providing their product to third-party customers with some "local patches" (a.k.a. "application") applied. The whole vocabulary (like Value-Added Reseller) indicates that they do not just sell you a binary-producing system. | Would you have continued to make local modifications to Gnu Emacs if | someone else were to track Gnu Emacs development and do the integration | work for you? That is a very good question. This would, in my view, constitute a "fork" with some particular features. A project called emacs-dl, which allowed Emacs to dynamically load foreign code, did just that for some particular needs. It is still at Emacs-20.7, even though Emacs 21.2 was just released. Here is the Debian package system description: emacs20-dl - The GNU Emacs editor. (Dynamic Loading supported) GNU Emacs is the extensible self-documenting text editor. This binary supports the Dynamic Loading architecture(dl). If you want to use dynamic loadable modules, you should use this instead of pure emacs20 package. Dynamic Loadable Module examples are Canna/Wnn input method support. (emacs-dl-canna/emacs-dl-wnn package) And some dirty patch applied. Dirty means such as, Rejected by upstream authors (difficult for merge), Code from other emacsen, like XEmacs/Meadow/obsolete Mule2.3, or backported. | How much would such a service be worth to you? Well, right now, I am working with a new completion algorithm for Emacs (and readline, in time). Instead of expanding to stop before the first disambiguating character, I want to see the best attempt with various portions of the completed string highlighted in various colors. E.g., if I wrote m-s--s TAB, I would get make-string-input-stream with "ake", "tring", "put", and "tream" in green (only completion) and "in" in red (more alternatives), and then a new TAB would replace "in" with "out". I would want point (the cursor) to be behind the completed word, so I could just keep writing, but "i" and "o" would choose "in" or "out" and turn all the completed text green. There are design issues to work out here, but I am tired of completion that (1) pops up windows, and (2) does not learn what I really want in context. Should I complete this work (pun intended), I am not sure I want to give it away under GPL conditions. Suppose I invent something really clever as part of this development process. I may not know that myself for a while, but if I did, I want to be able to recover more than time and cost in developing it. Suppose I write a paper about it and make a binary available -- people could conceivably want to pay me for this feature. I would have closed that door to opportunity if I had published the code. Worse, if I am not particular good at marketing to idiots, and somebody else is, just having the code in the open would allow someone to take the ideas it contains and reimplement them in a clean-room setting such that none of my code remained. This is why patents are good -- they both encourage people to try to do better, _and_ protect you from competitors who do not succeed in that. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.