News and commentary from the cross-platform scripting community.
Mail Starting 2/2/98 Interesting discussion as usual.
From: bslesins@best.com (Brian Slesinsky);
Sent at Tue, 3 Feb 1998 02:16:14 -0800;
Businesses and CharitiesWhen running a business it must be hard to imagine why people would work for free, particularly in a high-paying profession like computer programming. But there's life outside of work and not everyone has a mortgage to pay. On the one hand there are college students. On the other, I suspect there are more than a few programmers in Silicon Valley who continue to work even though they wree wealthy enough to retire long ago. If lawyers can take pro-bono cases, why can't software engineers donate some of their time to causes that they think are important?
Sometimes businesses and charities coexist in the same space - compare public and commercial radio, or public and private schools. Sometimes commercial and public interests can even coexist in the same organization. Until recently, newspapers considered their mission to be balanced between informing the public and making a profit, and publishers would base their decisions not just on popularity but on which books might be important literature.
Up until now the software industry has been so commercial that many people have a hard time imagining that it could work any other way. But the public sector seems to be catching up. Businesses and charities play by different rules - nobody will do volunteer work for a bookstore but sometimes they will for a library. It may be that volunteer software organizations can take on tasks that businesses can't, or some new form arises that combines these approaches. I think many kinds of software organizations will coexist and it's too soon to say which will be most important.
I wanted to bring to your attention the affinity that exists between some of the things that you are interested in and some of the things that I am interested in.
From: amos@aracnet.com (Amos Latteier);
Sent at Mon, 02 Feb 1998 19:24:49 -0800;
python and outliners, (and more)* Are you familiar with the python programming language? (You can find lots of information at http://www.python.org) There is a great connection between outliners and how python is structured. Python uses indentation as block delimiters. "Python groups statements via indentation: a block of statements begins where the indentation increases a level and ends where the indentation returns to the previous level." It is made to be edited by outliners!
* Are you familiar with the Python Object Publisher? This is a great piece of free software for creating complex web sites and applications.
"The Python Object Publisher (Bobo) allows objects to be published without any Common Gateway Interface (CGI) or Hypertext Transfer Protocol (HTTP) specific code. Complex object hierarchies can be published with Uniform Resource Locators (URLs) that mimic the object hierarchies. Form data, including file upload data, are marshalled into method parameters. Most tasks associated with the interaction between an application (such as URL traversal, parsing form data, parsing queries, parsing headers, parsing cookie data, access control, and error handling) are performed automatically."
I think that it has a lot in common with frontier in terms of developing a free, coherent, cross-platform framework for web development and content management. Check it out at http://www.digicool.com/releases/bobo. The tutorial is especially good.
Did you read Tim O'Reilly's press release about the Netscape decision by any chance? Maybe that might help understand the bazaar model and why it will only grow in the long term.
From: adamt@smginc.com (Adam Turoff);
Sent at Mon, 02 Feb 1998 19:42:07 -0500;
Re:"Cathedrals and Bazaars"http://www.ora.com/oreilly/press/netscape.html
Yes, good programmers cost real money, but frequently, good programmers writing free software don't do it for free. They do it for pay, giving their employer a revenue stream or otherwise improving the core business, and benefit from allowing outsiders to look at and improve the code. Simply put, everyone wins.
For example, O'Reilly is employing Larry Wall. O'Reilly & Assoc. has a vested interest in keeping perl interesting - they were selling Programming Perl at the rate of one copy every six minutes last year.
Sun has a vested interest in keeping Tcl/TK free - so they subsidize Dr. Ousterhout's team as an R&D staff. NCI has an interest in getting a very high quality OS and tweaking it for their purposes, so one of the architects of FreeBSD works NCI in such a manner that some of the work he does on the kernel is available to the FreeBSD project.
Here's an example, I think from Steven Jay Gould: Humans and chimpanzees are 1% different at the genetic level. That doesn't necessarily mean that chimps are 99% human. One percent can be localized on one chromozone (meaning we're effectively the same animal), or it can be a 1% difference on each of 46 chromozones (meaning that we're very different animals coming from a common ancestor way, way back).
Looking at commercial software and free software as the same thing is wrong. On the surface, there is a minor difference, but that subtle difference runs deeply through the free software movement, like the difference between chimps and us.
While there is a large community of users out there who lack the skills to understand source code to something like Communicator 5.0,
There is a large and expanding community of users who are willing to take the leap of faith towards free software - especially if it is of a higher quality than commercial software and inherently more easily fixed than commercial software.
You said: "I've found that Unix people tend to trivialize the very skilled hard work of managing screen pixels and building understandable user interfaces."
From: wesley@scripting.com (Wesley Felter);
Sent at Mon, 2 Feb 1998 17:05:20 -0600;
Why UNIX is dyingTo which I couldn't agree more. The UNIX world today is in the same place as the PC market was in 1983. Progress hasn't been constant in those last 15 years, but a lot of progress has been made.
This page presents a good evaluation of the situation:
http://www.well.com/user/hoff/unixgui.htm
(Although I think the author has one thing wrong; most UNIX uber-hackers don't like Netscape; they use lynx. :-) )
Thanks for the thought provoking comments, as usual.
From: danlyke@pixar.com (Dan Lyke);
Sent at Mon, 2 Feb 1998 15:08:07 -0800 (PST);
Comments on Cathedrals and BazaarsA year ago I was a Windows/Direct-X/whatever developer. Then the company ditched its interactive group and I became a Unix developer. I've done the Intel and Alpha Linux ports of our primary product, the workstation on my desk runs Irix, and I've done a part of the Windows port (the partial status of this is due to the difference between what Windows and Unix users expect, we expect that our product will be scripted in to a larger environment, and Windows doesn't have those facilities).
Around that time I wasn't sure I wanted to be a Unix programmer and I wasn't sure there'd be a place for me, so I interviewed at a couple of places, and was shocked that the primary focus of questions at Windows and Mac houses was "how much experience with X API have you had?", where the questions at the Unix shops were "how do you problem solve?"
And it occurred to me that the difference between Unix and the rest of the world wasn't some sort of arrogance, it's about where between the user and the computer we put the interface. Are we worried about interfaces, or by going a little deeper can we be worried about problem solving?
I use one of Eric Raymond's products, or, rather, my server at home does. Screen shots are irrelevant because fetchmail runs unattended, several times a day, worked once I set a few configuration switches, and I haven't seen it since. It's an invisible tool. Not only that, I didn't have to use someone else's oddly defined dialog boxes to set those options, I could use my familiar editor.
I've found that once I drank the Unix Kool Aid most of my computing tools have become invisible. I've got a couple of applications I use a lot (like an editor), but all of the power is the tools which those applications talk to, which I can chain and script and interoperate to my heart's content, and then once they're working I can forget about them. Eric's fetchmail drops its data to sendmail, which then parcels things out to procmail, or BeroList, or some Perl script, or any other number of tools that I installed once, then walked away from.
"I don't know it has one" is the highest compliment I can give to a tool's user interface. I don't want pretty screen shots, I want the computer to do things for me without my having to worry about it. I'd much rather have a button which says "Do it", or even a timer which knows when to do it without my intervention, than a gorgeous splash screen and a 45 second wait for the app to come up and then have to fight my way through dialog boxes to reselect all the things I chose the last time.
This is what OLE has been promising us for quite a while. This is what you're working towards. The difference is that I took the time to meet the computer half way and I can do all of these things today. True, it takes a little more effort on my part to get there, but I'll see the promised land long before the GUI world delivers its version to me.
What's happened with the freed software movement is that every time someone solves a problem, they say "here's how I fixed this situation for me, if it helps the world that's a bonus."
I make my living developing software, so I'm loathe to see Richard Stallman's utopia come to pass. Then I might have to get a real job. But there are any number of solutions that are already paid for, things I'll do anyway because they're worth the cost of implementation to me, and these will get passed off to the world. Thus that market will thrive independent of the mainstream GUI stuff.
Now for all of this there are some things I may not have seen first on the Unix side of the fence; you should take it as the highest complement that I plan to reboot a machine into Windows one of these days and check out Frontier because it seems like fun.
With Ms. Tucker's execution still on schedule for tomorrow night, and as I write this her appeal for clemency unanimously rejected, I find that I'm inspired to write on this subject. That's because I disagree with you.
From: sdenbest@qualcomm.com (Steven C. Den Beste);
Sent at Mon, 02 Feb 1998 13:34:52 -0800;
Capital PunishmentYou wrote: "The bottom-line for me, when the government kills someone, we all have the blood on our hands. Speaking for myself only, I don't want that."
Though you wrote much else, and I would not pretend that this sums it all up, I believe it gets to the heart of your objections. But this misses an important point.
This is not the only way in which our government kills for you. Taken as a whole, the deaths caused by people serving our government during wars far outnumber the deaths caused by capital punishment. In 1991 perhaps a few dozen executions took place. In that same year, soldiers serving in the U.S. military killed tens of thousands of Iraqis. (I've seen estimates of up to 100,000 Iraqi KIA.)
From a moral standpoint, how is this different? How can one justify one without also permitting the other?
It seems to me that on the "deserve to die" list, someone convicted with overwhelming evidence of having committed a horrible murder would surely rank as morally easier to kill than an enemy soldier whose only "crime" is to be on the opposite side.
[Of course, this opens a whole can of ethical worms, because then one asks whether our own soldiers who inflict horrible deaths on enemy soldiers should then be tried for murder. But there is a qualitative difference, of course: they are doing it to advance the cause of their government, under orders, in the line of duty. Such cannot be said about a convicted murderer.]
But discounting that, and considering only our civilian society, police in your service kill more people in the line of duty each year than are legally executed. Do you remember this case last year?
http://cnn.com/US/9702/28/shootout.update/index.html
Two maniacs armed with fully automatic weapons tried to rob a bank and botched it up. Near the end, one of them was stalking down a street literally shooting at anything which moved. Eventually the police killed them both.
Was it wrong to kill them? Should the policemen who fired the fatal shots have been tried? Should they have been limited to use of nonlethal weapons?
Of course not. I don't see how anyone could criticize how they dealt with this case. There really was no other way to stop these men.
So institutionalized killing as such cannot be the issue. Even if there was no capital punishment, your hands would still be red with blood.
Nor is it simply enemy soldiers, or criminals in the act of crime, who die in your name. In the age of total war, "innocent" enemy civilians are also killed. Your hands are wet with the blood of VietNamese children (if you're 25 years old or more). If you are mid 50's, Japanese, German and Italian children have been killed for you.
Our government kills, and will continue to kill. The bodies will pile high. Your only question is when, how much, and for what reason.
Within that context, We reconsider capital punishment. We cannot object to it on the basis of it being institutionalized killing as such, because we already accept institutionalized killing under other circumstances. Any objections to it must be based on criteria which separate it qualitatively from such killing as we find acceptable.
I don't claim to have the answer, but I don't think your answer is right, because I think it based on emotion and not on logic. I don't think you have a consistent ethical argument in your favor.
A lot of people make money programming without selling their software on the open market. A vast majority of programmers have traditionally been paid to work on proprietary applications that are deployed in-house, not sold. These days, major commercial web sites represent vast programming efforts, but the thing being sold is the content, not the underlying code. When you're selling the result, not the code, the free software model has a lot of advantages.
From: jbrewer@shout.net (John Brewer);
Sent at Mon, 02 Feb 1998 13:29:58 -0800;
Cash flow from softwareFor example, Larry Wall wrote Perl (at least initially) to help him get his sysadmining job done. His bosses wanted reports generated from text files, and if writing a program was the fastest way to do it, that was fine with them. Before the web, Perl was already the tool of choice for UNIX sysadmins for the better part of a decade. Like Larry, they could contribute to Perl because their livlihood depended on their ability to administer UNIX systems, not on shipping code. In a situation like that, the GPL enforces a social contract of "I'll share this with you, but in return, I expect some help maintaining it."
While I don't claim that the free software model works particularly well for commercial applications, I also don't think it's fair to dismiss it out of hand when there are cases where it works extremely well.
I'd like to respond to several points where you see black and white, and I see shades of gray.
From: mcjones@pa.dec.com;
Sent at Mon, 02 Feb 98 12:20:17 -0800;
Cathedrals and BazaarsYou asked:
"Have they built a base of commercial-quality apps around the Linux operating system or other GPL software?"
L. Peter Deutsch distributes various versions of his Ghostscript PostScript interpreter (in source code format) under GPL, under a more restrictive Aladdin Free Public License, and finally under under commercial licenses involving royalties and guaranteed support. His paper from the 1996 FSF Conference on Freely Redistributable Software discusses these issues:
ftp://ftp.cs.wisc.edu/pub/ghost/papers/frs96.{txt,ps,rtf,fm}
Later you stated:
"Money and customerhood are irrevocably linked. It's a privilege to pay money for a product, because that guarantees that you will be treated like a customer."
How do you define "treated like a customer"? Some companies take my money and provide poor documentation, poor or no support, and no follow-on versions.
If you want to look for commercial quality applications that are provided freely, indeed, that are best of breed, check out gcc (the favored compiler among commercial Unix software vendors), Apache, or Perl.
From: rafeco@trinet.com (Rafe Colburn);
Sent at Mon, 02 Feb 1998 14:23:17 -0500;
Cathedral & BazaarAlso, take a look at these two articles:
http://www.infoworld.com/cgi-bin/displayTC.pl?/97poy.win3.htm
http://www.infoworld.com/cgi-bin/displayTC.pl?/97poy.supp.htm
This page was last built on Tuesday, April 7, 1998 at 6:59:15 PM, with Frontier version 5.0.1. Mail to: dave@scripting.com. © copyright 1997-98 UserLand Software. |