This article originally appeared in TidBITS on 2013-02-22 at 3:58 p.m.
The permanent URL for this article is: http://tidbits.com/article/13582
Include images: Off

LiveCode Crowdfunds Free, Open-Source Update

by Adam C. Engst

[Update: With 35 hours to go, the LiveCode Kickstarter project exceeded its £350,000 goal and funded. With tongue firmly in cheek, I’m giving full credit to our TidBITS coverage. -Adam]

Remember HyperCard [1]? We do, from the hazy depths of the late 1980s and early 1990s, and in fact, HyperCard played significant roles in our early Mac experiences. TidBITS started out life as a HyperCard stack, and not long after, Michael Cohen was working with HyperCard at Voyager, making the first Expanded Books. HyperCard was the lure that I used to convince Matt Neuburg to switch from his Apple IIc to the Mac.

HyperCard disappeared from our hard disks long ago, but its legacy has lived on, first in the form of a cross-platform toolkit called MetaCard, which was acquired by Runtime Revolution (RunRev for short) in 2003 and was later renamed to LiveCode. Now, through a Kickstarter [2] project, the Scotland-based RunRev proposes creating a next-generation version of LiveCode in two versions: a free edition licensed as open source and a commercial version with support. The open-source version allows projects to be created without requiring any fees, but all the source code must be released for publicly distributed projects. The commercial version won’t require that any project code be released.

(Besides LiveCode, several other HyperCard-inspired products have survived to modern days, including HyperNext [3] (free or $24.99 to build to Android), HyperStudio [4] ($89.95), and SuperCard [5] ($179 or $279).)

An open-source version of LiveCode could be an important tool, and RunRev is hoping that if you agree, you’ll support their Kickstarter project in the next few days. For those who are old enough that their memories of those years are fading, and for those who are too young to have run across it, HyperCard was an innovative programming tool created by Bill Atkinson and included for free with every Mac for some years. HyperCard combined database capabilities with a graphical user interface and the English-like programming language HyperTalk, which was much easier to learn for non-programmers than any previous language.

HyperCard’s ease-of-use and rich development environment caused it to be used in a wide variety of situations, from teaching programming to children to encapsulating the knowledge of experts who lacked the skills to program in traditional environments. HyperCard was used for popular games like Myst, influenced the creation of the World Wide Web, played a key role in the concept of wikis (from whence came Wikipedia), and inspired the developer of the JavaScript programming language.

In short, even if you didn’t use HyperCard when it was available, or came to the Mac too late to ever see it, HyperCard was a big deal. And since LiveCode can be used to develop apps that run on iOS, Android, Mac OS X, Windows, and Linux, an open-source version could also be a big deal for bringing back the concept of programming for the rest us.

But why use Kickstarter to fund this new version? As Kevin Miller, RunRev’s CEO, explained it to me, the company wants to release an open-source version of LiveCode, but that wouldn’t be useful in its current version. LiveCode is an old, monolithic tangle of legacy code [6] that dates back 20 years in parts. It’s also massive, with over 500,000 lines of C++ spread across six operating systems (that’s more code than the first few versions of Linux). Just dumping that code into a public version control system and telling programmers to have at it wouldn’t work, since specific bits of code can’t be separated from other bits of code, making it impossible for outside programmers to work on particular parts of the system. (The code is neither modular nor object-oriented, as it were.)

Along with modernizing and modularizing the code so other programmers can work on it, RunRev wants to make some major additions to LiveCode as well. Notably, the new Open Language [7] will enable developers to extend the LiveCode syntax to add new commands for independent extensions. And a new visual editor promises to help users develop interfaces that adhere to today’s usability standards.

Kee Nethery, CEO of the payment processing company Kagi and a long-time HyperCard fan, told me:

I showed LiveCode to our local high-school teacher and he was excited by the simplicity and the thought of all the stumbling blocks his students would not have to endure if they switched. Plus, being able to run apps on Linux, Mac, Windows, Android, and iOS would mean that his students could build something and run it on their computers and show their efforts to family and friends. It really needs to be free for him to use it in his class.

While that all sounds wonderfully positive, and I’ve gotten more requests from TidBITS readers for an article about this LiveCode Kickstarter project than anything else in recent times, this project has also engendered a lot of internal staff discussion, not all of it positive.

The discussion centers largely on the sheer scale of the money RunRev wants to raise to develop this next-generation version of LiveCode. The Kickstarter project will fund only if the company’s £350,000 goal is met. That’s a lot of money — about $534,000 U.S. dollars — and it has prompted some to ask if it’s a reasonable sum, if an open-source version of LiveCode is worth that much, and if the money would basically end up being used to fund RunRev’s payroll while they do the work they would be doing anyway, because the firm will retain commercial licensing for the same code.

Some of these questions revolve around whether this is an appropriate use of Kickstarter to raise money from individuals, but we don’t see that as an issue. Kickstarter vets every proposed project and accepts only those that meet its requirements, which include being project-based rather than open-ended and having a specific goal to achieve as a result of funding. By definition, then, a project that appears on Kickstarter is appropriate for Kickstarter. And whether or not any given Kickstarter project is appropriate beyond that is determined purely by whether or not it funds. If it does, it was a good use of Kickstarter; if not, the project was flawed in some way. It’s too early to say whether the open-source version of LiveCode is appropriate in that sense; it has only 3 days to go, as I write this, and it’s at £289,000, which is a large sum, but £61,000 off from the goal.

It’s impossible to know exactly what RunRev’s motivations are in choosing to fund through Kickstarter, and if the £350,000 is a reasonable amount. I asked Kevin Miller what he’d do if the Kickstarter project failed to fund, and he told me that they’d look for other ways to accomplish the same goal, either through smaller campaigns or through private equity. In retrospect, working through Indiegogo, a Kickstarter competitor that offers an alternative to Kickstarter’s all-or-nothing approach, might have been better, but on the other hand, if an Indiegogo campaign didn’t raise enough money, it might have left RunRev in a sticky spot.

Other concerns include the fact that LiveCode will be released under the GPL v3 [8]. This open-source license requires that all modifications and additions to any publicly distributed compiled versions of covered code must also be made public. With LiveCode, that has two components. First, programmers who make private copies of the interpreter and LiveCode libraries and then release new versions would have to publish the source code for all their changes. That’s typical and well understood by developers. (This sets up the potential, by the way, for forked versions of LiveCode outside the control of RunRev.)

But the GPL license also covers any software written in the LiveCode language. Any project created with the free, open-source LiveCode app and used for anything but private or in-house purposes would have to have its source code released in tandem.

Since some people and companies may want to keep the software they create proprietary and closed, RunRev’s project and FAQ makes clear that the company will continue to provide a commercial version of LiveCode that makes closed-source programs possible. LiveCode’s license fees currently range from $499 to $1,499. There are also monthly and annual pay-as-you-go plans, along with a variety of educational discounts.

The use of dual open-source/commercial licensing prompted some to complain that the Kickstarter project lets RunRev fund future development of a system from which they’re already making money. That’s true in some respects, but may be outweighed by the potential societal value of an open-source development environment. Of course, making something open source doesn’t automatically make it good or useful — the open-source version of LiveCode will have to prove itself in terms of quality and utility.

In the end, you have to decide for yourself if an open-source version of LiveCode is something you want to support. If it is, you should pop over to Kickstarter and help fund the campaign right away. There are a wide variety of reward tiers for different levels of contribution, and your credit card will be charged only if RunRev hits that £350,000 goal by 28 February 2013.

If you do choose to support LiveCode, you won’t be alone. Apple co-founder Steve Wozniak has backed the campaign, and ex-Apple CEO Mike Markkula has had input into the campaign strategy. Other well-known names among the nearly 1,300 backers so far reportedly include Bob “Dr. Mac” LeVitus, science fiction author and general-purpose computing proponent Cory Doctorow, World Wide Web co-developer Robert Cailliau, Kagi CEO Kee Nethery, cyberpunk author William Gibson, and a number of people familiar to me from TidBITS and TidBITS Talk.

[1]: http://en.wikipedia.org/wiki/HyperCard
[2]: http://www.kickstarter.com/projects/1755283828/open-source-edition-of-livecode
[3]: http://www.tigabyte.com/index_hn.htm
[4]: http://www.mackiev.com/hyperstudio/
[5]: http://www.supercard.us/
[6]: http://blog.runrev.com/blog/bid/266941/Taming-the-Monolith
[7]: http://blog.runrev.com/blog/bid/265511/Open-Language
[8]: https://www.gnu.org/licenses/quick-guide-gplv3.html