Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Tuples - Was Pair! thread

From: joel:neely:fedex at: 8-Feb-2002 7:36

Hi, Carl, I must disagree with the assumption that open source software will "be sure" to fork. (I assume we're talking about the issue of random incompatibilities due to the uncoordinated fiddling about of various random individuals, and not the kind of version-to-version evolution -- and occasional lack of backward compatibility -- that every real programming language I've used during my 30+ years in computing.) Carl Read wrote:
> That may be fine for some software, but it isn't for a cross- > platform, cross-Internet language. You can be sure that once > people started rolling their own REBOLs the Net would fill up > with scripts that weren't compatible with your version of REBOL. >
The history of the open source movement doesn't bear this out. Instead of sending the impassioned pages of deathless prose that I was first inspired to write ;-) I'll simply point out that some of the most important languages and tools, and IMHO one of the most significant developments in operating systems in many years, are all open source. Perl, Python, Ruby, gcc, Linux, GIMP, gawk, gnu-make, emacs, vim, gtk, Gnome, Apache, ... Far from destroying these languages and tools, the availability of source has caused them to be ported to far more platforms than the inventors ever would have been achieve to do on their own, and debugged far more rapidly. Most of these use some combination of respected-leader-guidance, delegated-responsibility-network, and marketplace/democratic let-people-try-it-and-see-what-wins strategies to effect the evolution and maintenance of the software. Do people try out different, unorthodox, and even hairball ideas? Absolutely! But the open source community does a good job of distinguishing experimental/unstable/work-in-process releases/branches from stable versions that represent the collected wisdom, preferences, and QA of hundreds, thousands, or tens of thousands of eyeballs and brains. Serious developers also know -- assuming they want their work to be accessible to the widest range of users -- that they should be cautious about depending on uncommon features, libraries, etc. The wild-eyed crazies who go off in random directions trying to make their pet version of emacs scriptable in VisualIntercal++ are free to do so, but their gibberish isn't taken seriously. Unless, of course, it's really good, in which case it will gain enough of a following that it will begin to influence the addition of capabilities to the "official" version. But people still know which is which. That's called massively-parallel progress. On the other hand, the very nature of highly-extensible languages such as FORTH, Smalltalk, and REBOL tends to work in *exactly* the direction you feared. How many people on this list have a library (or two, ...) of their own favorite tweaks and functions and then write new code based on those extensions? How many experienced REBOL users have customized their user.r files? How many times have we seen: - A bug reported and someone responding with a fix of the form "here's a rewrite of that function; put this in user.r" ? - A posted script, followed by a post that says "It doesn't work on my box", followed by a post that says "Ooops, here's my foo.r" or "Go get so-and-so's quux.r"? and so on. Open source doesn't create such problems; it actually helps alleviate them because it's a more efficient mechanism for fast-cycling both the bug finding/fixing process and the rate of scrutinizing (and then adopting or rejecting) potentially useful new ideas. I truly believe that open source works, and is in the long-term best interests of the advancement of our art. Consider where we would be without a modern educational system, which is founded on the notion that one achieves value to society by creating new ideas (or new ways to express useful ideas) ang giving them away as rapidly and enthusiastically as possible. Consider the fact that students of architecture can learn their field by going and looking at all of the details of the design and construction of great buildings. Even in the failure of specific projects, there is value in openness. What if the design of the Tacoma Narrows bridge had been kept secret? How many more bridges might have collapsed (and with what potential loss of property and life) if the next generation of engineers had been prohibited from seeing both the design and construction of Galloping Gertie? All of that said (and aren't you glad I shortened it ;-) , I am a firm believer in the right of a creator to determine the fate of his creation. REBOL is Carl's baby, and he (alone!) has the moral right to decide whether he will make it available via open source or whether he wishes to keep it closed. Likewise, prospective users of REBOL (or any other tool) have the right to make their choices: either to invest their time and energy in a language that they know in advance is not an open source project, or to take themselves and their time and energy elsewhere. Either way, all parties should respect the rights and decisions of the others. -jn- -- ; sub REBOL {}; sub head ($) {@_[0]} REBOL [] # despam: func [e] [replace replace/all e ":" "." "#" "@"] ; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"} print head reverse despam "moc:xedef#yleen:leoj" ;