Why Rebol?

The Rebol programming language started from a fresh sheet. Its creators sought to capture the holistic purity of LISP, while natively supporting the realities of our always-on, network-connected, multi-platform world. The goal was to follow a certain philosophy of software design to its logical conclusions, in order to create a uniquely sustainable tool for managing complexity.

More than a decade of careful engineering has produced an astonishing technology. The interpreter fits in under a megabyte on Windows, Mac, and Linux... despite including modern network protocols, Unicode, a GUI interface builder, date/currency arithmetic, and much more. Single lines of Rebol can perform feats that require importing bulky libraries in other languages (or writing hundreds of lines of custom code).

The system is so compelling that it has consistently won admiration from those who use it, including key figures behind today's Internet technology:

"Rebol's a more modern language, but with some very similar ideas to LISP, in that it's all built upon a representation of data which is then executable as programs. But it's a much richer thing syntactically.

Rebol is a brilliant language, and it's a shame it's not more popular, because it deserves to be."

Douglas Crockford, founder of JSON, 2009 [link]

Yet despite such accolades, Rebol failed to gain widespread use. It was not tracked or listed in even the Top 100 of the Tiobe language popularity index (!?)

A key reason was that for 15 years, there was only one complete implementation of Rebol. It was distributed exclusively in binary form by Rebol Technologies Inc ("RT"), as a proprietary product. Today's developers have spoken clearly: open standards are non-negotiable. This is the promising ethos of the Internet era, and consensus becomes stronger each year. Though organizations still use proprietary tools to fill certain niches, none are willing to hinge their code capital on a proprietary infrastructure that locks them into a single vendor.

But as of 12-Dec-2012, Rebol version 3 is now an Apache 2.0 open source project. The source is available on GitHub. Thus the first step of the Freebol mission has been achieved. Issues remain.

Open Concerns

Fragmentation is a possibility. Rebol's chief designer--Carl Sassenrath--had a number of reasons for not open sourcing the product, even when it was becoming glaringly obvious it had to happen. There were probably "business" reasons (like obligations to investors), but the more central quandary was his feeling that Rebol shouldn't be thrown carelessly into the organic open source ecology. Centralized design is its raison d'être, and losing that control might destroy its unique nature. The open-source movement hasn't yet found a foolproof answer for this.

The open sourcing was late. Very late. (Although 12-12-12 is kind of a cool date to do it on...had he waited 9 more days it could have been the Mayan apocalypse.) Significant mindshare opportunities for the Rebol language have been lost. Less compelling systems have taken the spotlight and drawn massive communities, making it very difficult to sell Rebol usage inside any organization.

But the community's hands have finally been untied. There is no closed/proprietary albatross hanging around Rebol's neck anymore, thank God. Yet the fanatical fringe that rallied to make this happen is a bit of a freak show (the author of this included). If traction is to be gained in the war against complexity, that freakiness is going to need to tone way, way down.

The Freebōl Mission

The prior Freebol mission was to build a GPL Rebol, that worked with the common library code of the closed source Rebol. It was going to be modest and obvious, and not seek to re-create Rebol's teeny-hand-optimized footprint. It was to fit seamlessly into Linux distributions, where one can simply type:

apt-get install freebol

The idea of using the GPL was shot down pretty hard in a nearly unanimous fashion. I still say people are going to one day yell from the rooftops that "Stallman was right!". They will come to regret a license that lets people lock down the code driving your cars...when your hearing aid conspires with your car behind your back...ugh. But what's done is done, I said I'd keep my mouth shut about it now.

Since Rebol is open sourced there's no reason to reimplement it in C++. We do need it in the Debian repositories and there is a LOT of community organizing and marketing work to be done. I'll consider using freebol.org to be a community page, but I may well not renew it as nothing links here really. Just had to update it from a "Rebol needs an open source story!" rant to a "well, now it has one, so...um...nevermind."

turbine