LiveCode Crowdfunds Free, Open-Source Update
[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? 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 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 (free or $24.99 to build to Android), HyperStudio ($89.95), and SuperCard ($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 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 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. 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.
If supporters prove able to raise the $534,000 needed to revamp the LiveCode tangle of 20 year old legacy spaghetti code, I QA'd that kind of code for 17 years for a living, and I can testify it should be well worth it.
I fell in love with HyperCard early and subscribed to the original TidBITS stacks. I learned to code in HyperCard before moving on to C and Perl for my private projects and web apps. A web interface works superbly for my needs these days, but my first love, so to speak, will always be HyperCard.
I was the programmer of Voyager's Expanded Books, and co-programmer of the Expanded Books Toolkit. I hadn't heard about William Gibson doing a pledge, but it makes more sense than most people could guess. The reason being that we made expanded books out of his novels, and on one speaking tour he even read to the audience from the HyperCard stack running on his PowerBook!
Some of us are inclined to take a more cynical view of RunRev's move here. If the goal is to open the source to public view, just open it and then we'll see what's what. If the goal is to write less crufty code, well, that is what they should have been doing all along: they are very much a for-profit enterprise, and it was their job to use wisely in the first place the money they've been making all this time by writing their code decently as they went along. Why do they deserve a free capital injection to make up for their own bad practices? Isn't this talk of "open source" just a form of politically correct-sounding bait?
...bait taken...
RunRev didn't write the engine, they bought the rights to it a few years ago.
RunRev acquired MetaCard in 2003, 10 years ago.
And have since been busy maintaining it, adding features and platforms to it. It has probably taken years of part-time discussions and thought to come to the point where they have a solid plan for this major refactoring. It is a complete overhaul and will enable them to move forward in much more significant ways, however, I'd be very surprised if they had the funds to make this a top priority without being kickstarted. There are just too many other things that need to be done to keep customers happy.
Matt isn't the only person to think the same thing, and RunRev have a lengthy FAQ and ongoing Q&A to allay such concerns.
Something else to know is that many of us pledgers know the RunRev team personally, having met them at conferences. We all like and trust them, and we have daily contact and input to what they are developing.
RunRev has had a very conservative approach to making changes to the engine code over the years because of the possibility of cascading problems due to dependencies. The KS project will give them the much-needed flexibility to clean up the code before release. A small company doesn't have the revenue stream to devote to a project like this without going to outside funding, and Kickstarter gives RunRev the opportunity to avoid going the VC route.
HyperCard was what opened up the Mac for me after years of being a commandline programmer, and finally got me to dive into the Macintosh toolbox. The LiveCode engine is a solid tool, and an open source version would be great.
I started using HyperCard back in 1997, also at Voyager (working on the CD Companion Series of music programs). In college, I had taken a semester of Basic and a quarter of Cobol (!!!), and later a half-semester of C. HyperTalk, along with HyperCard's pre-made user interface elements was a breeze compared to any of those. LiveCode is now HyperCard plus things HyperCard wasn't ever able to provide or do very well. In recent years I dabbled with Objective C for iOS programming--Oi!! Then I discovered that LiveCode makes iOS apps from basically the same warm and friendly code used for desktops--sweet! Now I'm working on music projects using LiveCode for both desktops and mobile. In my strongly biased, but experienced opinion, this Kickstarter campaign for LiveCode is well-worth supporting.
Small correction of something Peter said: it was 1987 that he started with HyperCard (same for me).
Me, too. In fact, in its beta days, when it was called WildCard (I think I still have the disks in a box somewhere). [Hi, Peter!!]
At the time that the WildCard beta would have been going on, I had still not started to use Macintosh! I was though an early adaptor for HyperCard, so I don't feel too bad...
There is a very informative road map blog posting written by Mark Waddingham, the RunRev CTO. In this blog posting, he explains how the process of refactoring the LiveCode engine will be accomplished. The diagrams show how dramatic a change this will be. Effectively, you can think of this effort as being like developing a kernel based operating system. You might think of it as being similar to the difference between MacOS 9 compared to MacOS X.
http://blog.runrev.com/blog/bid/266941/Taming-the-Monolith
Nice translation of this into Polish at http://cheap.de/science/zyc-funduszy-crowd-code-free-open-source-aktualizacja
I can't tell you how great it is to even see the name HyperCard again. Bill Atkinson's description of it as a "software erector set" was an understatement to say the least, some likened it to man's discovery of fire. Wrote many databases back in the day, including one that ran our fire department for a few years. Was a lot of fun, an awesome teaching tool, the killer app for nearly anything. Believe it or not, I'm still running a HyperCard database I put together in 1997 (on a dedicated G4) even tho printing from it has become problematic.
Having spent hundreds of dollars on RunRev, including purchase of an outdated manual from them, it never operated as advertised. Awful interface, buggy and unstable, it was an expensive, time-consuming failure that left a bad taste to this day. I'm afraid there'll never be another HyperCard; was years ahead of its time.
Hi Michael - I'm sorry you had that experience - I'd urge you to try again (especially if the Kickstarter succeeds and you can do it for free!). I've spent many many thousands with RunRev, and was dedicated at reporting bugs at the period when there were lots of them, and it has improved enormously, as have their quality systems. It's not perfect, there's still a hump to get over, but it's definitely worth trying.
Some witness statements:
http://livecode1001.blogspot.co.uk/
I certainly do believe you're still running a HyperCard database - and that it's getting problematic - and LiveCode could help you bring it back into full life. I recommend you give it another go.
Michael,
I'd agree with Ben that it's much improved lately, and with the success of the Kickstarter project there's tremendous potential. Incidentally, if you look at p. 3 of the comments on the LiveCode Kickstarter page, you'll see that several of the original HyperCard team have given their enthusiastic support.. sounds like a real vote of confidence to me.
In the end, the LiveCode Kickstarter project not only funded with 35 hours to go, but blew past the goal in the last day, hitting a grand total of £493,795, or more than all the company's "stretch goals" (things they promised to do upon hitting additional funding levels).
http://www.kickstarter.com/projects/1755283828/open-source-edition-of-livecode/posts
Bring on that open source version, guys!
RunRev's wrap-up blog post...
http://blog.runrev.com/blog/bid/272739/We-Kickstarted-LiveCode
And if you want to read this in Czech... Thanks to Daniela Milton.
http://www.autoteilexxl.de/edu/?p=420
Or in Ukrainian, see:
https://bestreviewsbase.com/translations/#livecode-crowdfunds-free-open-source-update:UK
And now in Russian:
http://indepthguide.com/translations/#doc-ru:livecode-crowdfunds-free-open-source-update