LightTable IDE Goes Open Source, Adds Plugin Support
The community has started to contribute additional language plugins to support Haskell, Ruby, F#, LaTex and Markdown, as well as several focused on the core editing experience (Bracket Glow, base16 theme, match highlighter, etc). All of which are made available via LightTable’s built-in plugin manager.
Originally taking inspiration from Bret Victor’s talk Inventing on Principle, where Bret outlined his guiding principle as “creators need an immediate connection to what they create”. Chris set out to create an IDE that aims to give developers immediate feedback on the code they are writing. A successful Kickstarter campaign followed, showing that there was wide interest in such a tool being created. During the campaign the project was accepted as part of YCombinator's 2012 summer batch, securing its creation.
InfoQ talked to Chris about LightTable’s future.
InfoQ: Do you have any concerns that LightTable might become diluted or bogged down by an excess of plugins?
Chris: In general I think ecosystems are pretty good at regulating themselves - there are many thousands of plugins for emacs/vim/sublime/textmate and they all seem to do ok. We are a bit different in that you have even more freedom to change things (you could rip out everything we've done and replace it), but I think the community will do a good job of using what works and ignoring what doesn't.
One thing we did want to do better though is handling the need to have a ton of plugins to get a reasonable environment. Stock Emacs or Vim, for example, are pretty awful and there's no good mechanism for getting a pack of plugins that provides an experience for x. LT's plugin system allows for plugins to depend on other plugins, which means we can create curated "distributions" if you will. They end up just being plugins that rely on lots of others and provide a bit of configuration so that all the behaviors work nicely together.
This also happens to a place that the BOT architecture shines. It's very easy for an end user to remove conflicting behaviors and make any random set of plugins play nicely without ever having to touch any code. So the short answer is no, but we've also planned ahead to ease some of the downside of the plugins-for-everything strategy.
BOT expands to Behaviour-Object-Tag, the term Chris coined to describe LightTable's architecture.
InfoQ: In the initial Kickstarter plan the planned open sourcing of the project was described as “At some level, this is an experiment in how open source and business can mix - it will be educational for us all.” How are the two mixing so far? Are we going to see paid plugins or advanced core features unlocked by a paid license?
This has been something we've been trying to figure out for awhile. While there are a number of strategies that can turn LT itself into a business, we've discovered something else along the way that fits a little more naturally. Instead of monetizing Light Table directly, we have decided to build services that hook into it. We'll use those as fuel for the company.
We're not quite ready to talk about exactly what those services are yet, but I will say that it revolves around a dramatic change in the way we think about programming. A good way of thinking about it is that Light Table is our platform for delivering on the mission we set out on from the beginning; empowering people to solve problems and build the world around them.
What we have released recently is our first step in that direction, but believe me when I say that what you see now is a small blip compared to what's coming in the near future.