
Light Table is now open source - endianswap
http://www.chris-granger.com/2014/01/07/light-table-is-open-source/
======
davexunit
Not only is it open source, it's free software! I am very pleasantly surprised
to see that the GNU GPLv3 license has been chosen. I've been harsh on Light
Table because the source was nonfree and the promise to "open source" it
_eventually_ didn't look promising or community-friendly. I expected a
permissive license or an open-core strategy to monetize proprietary components
and not be friendly with the free software community, but that doesn't seem to
be the case here. I look forward to seeing where development goes.

Happy hacking, Light Table devs.

~~~
jwr
I'm genuinely curious — if I understand you correctly, you consider a
"permissive license" (such as BSD or MIT) to be inferior: less community-
friendly, less "free". Why?

The reason I ask is because I think the opposite is the case: what you call
"permissive licenses" give me freedom to do whatever I want, while GPL,
especially v3, is very restrictive as to what it allows me to do.

Please, I do not want to discuss the merits of each approach, I would just
like to understand the point of view, especially the seemingly conflicting
uses of the words "free" and "permissive".

~~~
StefanKarpinski
"Permissive" licenses like MIT and BSD literally _permit_ you do more things
with the software. In particular, it is not legal to combine GPL software with
GPL-incompatible software (e.g. anything proprietary) and redistribute the
result. This is why we cannot distribute a version of Julia pre-built with
Intel's MKL even though we have MKL developer licenses that were generously
donated by Intel. The fact that we use some GPL libraries makes the
combination illegal to distribute. With permissive licenses like MIT and BSD,
that isn't a problem.

In terms of choosing a license for an open source project, I think you should
choose the most permissive license that will sufficiently encourage people not
to make proprietary forks. The GPL was designed on the premise that it would
be necessary to legally force people to contribute changes back, but the
success of so many projects with MIT and BSD licenses shows this often isn't
necessary. I think the choice depends on how "infrastructurey" or "producty"
the project is. For projects like libraries, compilers or programming
languages, it turns out that proprietary forks don't happen because of simple
economics. Why would anyone pay for a forked proprietary version of a library
when the original open source project is available? And if no one wants to
directly pay for a forked version of some library, why would any company
bother maintaining a fork when they can just contribute their improvements
back and let the open source community maintain them for free?

With a self-contained _product_ like Light Table, on the other hand, there's a
very real danger that some company could come along, fork the code base, make
a bunch of improvements and start selling their version. Using a viral open
source license like the GPL makes this illegal, ensuring that only the
original author can sell forks of the product.

tl;dr – GPLv3 is a great choice of license for Light Table because it is a
_product_ , but it's overkill for most open source projects which provide much
lower level functionality.

~~~
jakobe
> ensuring that only the original author can sell forks of the product

I consider this the absolutely worst reason to use the GPL. Quite a few
companies (large companies like MySQL/now Oracle or small ones like
Macromates) require contributors to sign an agreement that allows the company
to distribute the code under a different, proprietary license.

Doesn't this circumvent everything the GPL stands for? If I contribute to such
a project, what guarantee do I have that the owner doesn't just distribute the
software, including my contributions, under a proprietary license and stops
making improvements public?

~~~
jordigh
>> ensuring that only the original author can sell forks of the product

> I consider this the absolutely worst reason to use the GPL.

I think rms is right here. Selling exceptions is a good thing. It's certainly
no worse than selling proprietary forks of non-copyleft free software:

[http://www.gnu.org/philosophy/selling-
exceptions.html](http://www.gnu.org/philosophy/selling-exceptions.html)

Why would it be ok to take non-copyleft software like clang and make
proprietary forks with it, but not ok to sell exceptions in order to fund
copyleft software?

EDIT: As an Octave developer, I greatly respect how FFTW's copyleft is used,
for example. Matlab buys a license exception to use FFTW. Octave gets FFTW
under the terms of the GPLv3, just like Octave itself, which we in turn
contribute back to everyone else. Matlab and Octave are both using the exact
same library for Fourier tranforms.

I like this model. Everyone is paying one way or another, no freeloaders, just
lots of freedom.

~~~
jakobe
Thanks for the link, those were some good thoughts on the topic. However, I
disagree with Stallman. (probably because I make a living from selling
something that he might call a 'proprietary extensions')

I think the problem I have with the practice of selling exceptions is that it
gives more rights to the owner. I feel that open source licenses should give
equal rights to everyone. Dual licenses undermine that equality. I understand
that people want to stay in control of their software, but for me the words
'free' and 'open' somehow imply 'equal rights for everyone'.

~~~
nitrogen
The GPL is meant to _preserve_ equal rights for everyone _other than_ the
owner. A more permissive license allows freeloading, while the GPL does not.

~~~
jakobe
I wasn't talking about GPL, but the combination GPL+copyright assignment.

------
frik
So technically LightTable is a web app coded in ClojureScript, HTML and CSS
running in Chromium Embedded Framework (C++ application) [1] with a child
Node.js background process.

[1] Chromium Embedded Framework (CEF):
[http://code.google.com/p/chromiumembedded/](http://code.google.com/p/chromiumembedded/)

Edit:

the main author explained his decision to use Chromium here:
[https://groups.google.com/forum/#!topic/light-table-
discussi...](https://groups.google.com/forum/#!topic/light-table-
discussion/Y0XBCOUZ7cA)

He is using node-webkit: [https://github.com/rogerwang/node-
webkit](https://github.com/rogerwang/node-webkit)

apparently, it doesn't use CEF anymore: [https://github.com/rogerwang/node-
webkit/issues/1406](https://github.com/rogerwang/node-webkit/issues/1406)

Valve's Steam and Adobe continue to use CEF for their web based desktop apps:
[https://github.com/adobe/brackets/wiki/CEF3-vs.-Chromium-
Con...](https://github.com/adobe/brackets/wiki/CEF3-vs.-Chromium-Content-
Shell)

~~~
rch
Also, from your link to the issue indicating _why_ CEF isn't used:

"The wrapper for embedding Chromium in C++ apps from CEF is useless to node-
webkit, and it adds complexity and costs. Regarding the statement _Content API
and is not intended to be a starting point for a robust application_ , I don't
think that's true -- Chrome is based on Content API and it's clearly a robust
application. Maybe it just want to say Content API is not as easy to use as
CEF API."

------
sandover
Well Chris, the legal eagles here on the Lawyer News site are giving you a
good response so far.

I'd suggest you also submit this piece to Hacker News, and see what they make
of it. I mean in terms of the actual, you know, software that you wrote.

~~~
ludston
Above me is a beautifully sarcastic and eloquently crafted comment.

------
wbond
I understand the reason for picking GPL for the editor. The, rather large,
downside I see to this is that effectively all plugins are now GPL, correct?

I run a small side business sell packages for Sublime Text and considered the
concept of something similar for Light Table. While you certainly can sell GPL
software, you can not prevent redistribution, so you effectively get into the
business of providing support. I can't foresee being able to run a small
support business without catering only to the enterprise. And even then
"small" would be a relative term.

~~~
ibdknox
If you're interested in this, get ahold of us and I'm sure we can work
something out. The plan was always to do a dual licensing scheme to enable
exactly what you're talking about.

------
dangayle
Anyone else not want to read any of this comment thread because the first
thing you see is how it descends into a discussion of the GPL? Please, it's
like politics and religion. Is it possible to just talk about the software
itself? I'm sure there are some great comments hidden in there, but I'm not
willing to slog through the mess to find them.

In other news, I downloaded Light Table and I'm willing to give it a shot.

~~~
deevus
I share your exact sentiment. It would be good if HN had thread collapse.

~~~
rayshan
Hacker News Enhancement Suite [1] is pretty great with collapsible comments,
even shows you new comment count after you revisit home page. Styling may be a
personal taste thing though.

[1] [https://chrome.google.com/webstore/detail/hacker-news-
enhanc...](https://chrome.google.com/webstore/detail/hacker-news-
enhancement-s/bappiabcodbpphnojdiaddhnilfnjmpm)

~~~
mercer
Not only does it show new comment count, it highlights the unread comments in
the thread itself.

I've become so reliant on HNES that I avoid accessing hacker news on other
devices (and when I have to, I use hn.premii.com).

------
jbondeson
As a backer I'm really happy that it's now open source.

As a user I'm a bit concerned by this phrase _' "plugin" is a bit of a
misnomer - they are capable of fundamentally redefining in or adding anything
to Light Table.'_ I understand that the dynamic nature of clojure makes this
possible, but I'm reminded of all the issues monkey-patching causes. I would
hate to spend hours diagnosing plug-in interactions.

~~~
swannodette
This is pretty much how Emacs has worked for almost 40 years and it doesn't
even have namespaces. As far as stability Emacs is definitely competitive with
the many editors / IDEs I've tried in the past so I'd wager Light Table will
do just fine with this model.

~~~
ibdknox
Another interesting part of this is the use of behavior _diffs_ , which means
the user can at any point easily remove a behavior that is causing a conflict.
Unlike in most situations where multiple plugins may add functionality and
you're stuck with whatever the mixture is, it's _very_ easy to take just what
you want with LT plugins. One of the key goals of BOT was to enable people to
handle conflicts downstream without needing to touch the source.

~~~
jbondeson
That sounds great, and will definitely help alleviate headaches when the
clashes occur.

Have you started playing with strategies to proactively identify potential
clashes?

------
joshuafcole
I've been working with LT for a bit over a month now by picking at it through
the dev inspector and grepping over the compiled cljs source. I've used that
to build two plugins in JS [1][2] to help LT meet my needs as a day to day
editor. The biggest takeaway I had is that an editor built on the DOM is a
_very_ natural experience to work with. I come from a heavily emacs background
and was always fond of its extensibility, but I found it fairly imposing to
try and create or update nontrivial UI functionality. The usage of HTML and
CSS greatly streamlines that process and makes it feel much more accessible.

Perhaps more importantly, not trying to restrict plugins to using a particular
API has opened LT to integration with the tons of projects already built for
the web -- from terminal emulators to emmet.io, integration is very nearly as
simple as including the project's source and embedding it's root element into
a tab. There's a lot of low hanging fruit at this stage in the game, so I look
forward to seeing rapid plugin development in the coming weeks.

[1] Claire - Fuzzy File Finder inspired by ido-mode in emacs
([https://github.com/joshuafcole/claire](https://github.com/joshuafcole/claire)).

[2] Recall - Workspace Persistence Plugin to keep your tabs and tabsets loaded
between sessions
([https://github.com/joshuafcole/recall](https://github.com/joshuafcole/recall)).

~~~
jsilence
Wondering whether someone is working on a org-mode plugin.

~~~
joshuafcole
Not at the moment, but it sounds like an excellent project. At the moment my
plate is a bit full with:

1\. A SASS-based theme framework for LT that modularizes all of the widgets
and plugins into partials. It's pretty difficult to just dive into the
existing CSS and figure out what to change to achieve a particular effect.
You're basically required to poke around in the dev inspector.

2\. A proper C++ language mode via clang.

Once those are up in several weeks if nobody else has tackled an org-mode
implementation I'll probably investigate it. If you have any free time and a
desire to learn or use clojure I'd definitely recommend giving it a shot
though. The community would definitely appreciate it.

------
jessepollak
I tried switching to LightTable from SublimeText 2 a couple months ago for
javascript development, but was too confused and eventually gave up.

That said, the feature set _seems_ very intriguing and I'm tempted to give it
another shot (especially with all this news).

Does anyone have any thoughts on (or know of someone who's written about)
making the transition to Light Table?

~~~
joshdick
I think the key is to get used to hitting Ctrl+space to do everything. Pretty
much everything that Light Table is capable of is through that interface.

~~~
quaunaut
Sure, similar to Sublime's Cmd+T choice. The problem I have though, is that in
Sublime I really can use that for near everything- even opening new files. You
don't have that same option with Light.

~~~
ibdknox
Why not? There's a `File: open file` command, and then there's the navigator
to look through files that are in the workspace. You can also add files to the
workspace from the command pane with `Workspace: add file` or `Workspace: add
folder`.

~~~
quaunaut
Right, but none of those options are particularly fast.

In Sublime, if I want to open my Gemfile(at root), I just go

Cmd+T: Gem

And it's selected.

If I want to open my admin_controller, located inside of /app/controllers/, I
use

Cmd+T: adm

And it's selected.

If I wanna do my Admin Controller test(spec) file, at
/spec/controllers/admin_controller_spec.rb?

Cmd+T: adm sp

This is all a ton faster than what I'm seeing currenltly in Light Space, where
I'm essentially forced to use my mouse, or OSX's poor keyboard controllers for
open menu navigation.

~~~
joshuafcole
If you'd prefer not to deal with workspaces, you can try the claire plugin
[1], which is inspired by emacs ido-mode. It performs iterative fuzzy search
over the entire FS.

(Disclaimer: I'm the author of claire)

[1]
[https://github.com/joshuafcole/claire](https://github.com/joshuafcole/claire)

------
robterrell
Hey Chris: "auto-complete is not wickedly fast" \-- either there's a typo in
the middle, or that's an impressively honest self-assessment.

~~~
ibdknox
Pushed a fix just a couple minutes ago, might have to hard refresh to get it
though.

------
epenn
I love Light Table. I just wish there was a text-only mode/version too (even
if it's somewhat limited) that I could use when I'm doing development via ssh
on other machines, which accounts for a large portion of what I do. If that
pops up sometime it would likely become my primary editor pretty quickly.

~~~
phren0logy
You could always mount the filesystem of the remote machine (via SSHFS)
locally, and use whatever editor you want.

Here's an (old) article about it:
[http://www.linuxjournal.com/article/8904](http://www.linuxjournal.com/article/8904)

------
burningion
Awesome work, guys. I've got a quick question. I know there's a way to connect
to a remote REPL for Clojure live eval, but is there currently a way to open
up a remote Python session for eval?

I'm working on an embedded device with a Python interpreter, and I'd love to
be able to run that environment remotely, over ssh with a Python session.

If it doesn't exist, can you steer me to a place to get started building this
as a plugin? Thanks!

~~~
ibdknox
Right now the python plugin works by running a little tcp client and
connecting to LT's main tcp server. You'd just need to flip those. The Clojure
nREPL stuff does this, though it might be a hair bit more complicated than
what you'll need for the python one:
[https://github.com/LightTable/Clojure/blob/master/src/lt/plu...](https://github.com/LightTable/Clojure/blob/master/src/lt/plugins/clojure/nrepl.cljs)

Past that, you'd just need to add something to the python plugin that runs a
tcp server in your process and then hooks into the python running code that's
already there. [https://github.com/LightTable/Python/blob/master/py-
src/ltma...](https://github.com/LightTable/Python/blob/master/py-
src/ltmain.py)

~~~
burningion
Thanks Chris!

------
chetanahuja
I'd never heard of light table before this. Came here to see what other devs
thought of it. Found furious discussion about open source licenses instead.
Feels like usenet in 1995.

~~~
DigitalJack
[http://diovo.com/2010/11/collapsible-comments-for-hacker-
new...](http://diovo.com/2010/11/collapsible-comments-for-hacker-news/)

~~~
werner34
This is great, thanks! I unminified it first to look at the code, but it looks
like its not doing anything nasty.

------
curtis
For those of you wondering what exactly Light Table is, I found this video to
be a good introduction: [http://vimeo.com/40281991](http://vimeo.com/40281991)

~~~
Snoddas
Going to the site trying to get a TL;DR about what it is and then the
information is a 4.5 minute video. That's not gonna happen.

~~~
idProQuo
TL;DR - It's an IDE with support for live coding. It's built with
ClojureScript and has a number of unusual good properties.

However, you really need to see the video to understand how viscerally awesome
it is.

------
loceng
I supported Light Table on Kickstarter, and happy to see updates like these.

------
Touche
The post is a little unclear, is Light Table going to continue to be developed
in the open or is this a code dump?

~~~
jamii
Future development will all be open-source.

~~~
Touche
Sorry, my question was unclear, I was asking whether they will be using GitHub
(or another publicly visible place) for their daily development or is this
just where released versions will be pushed?

~~~
jamii
No, my answer was unclear :)

We will be doing all Light Table development in the open. We will be accepting
pull requests (actually, I think we already have) although we require a CA
([https://github.com/LightTable/LightTable/blob/master/CONTRIB...](https://github.com/LightTable/LightTable/blob/master/CONTRIBUTING.md)).

~~~
acjohnson55
Incredible! Thanks and congratulations!

------
cabbeer
This is great, Light Table is starting to look like the spiritual successor to
emacs.

~~~
jbeja
Or his little sister.

~~~
willismichael
Little sisters have a way of growing up.

~~~
nickik
And when the grow up you switch from your girlfriend to her little sister,
because she is the same but better.

------
belluchan
Cool, but how is this yc-backed company going to make money now? Was this a
non-profit investment?

~~~
scott_karana
Just because it's GPLv3 doesn't mean they can't sell commercial licenses for
it.

So I imagine they're considering support and integration and sources of
revenue.

(Totally speculative of course!)

------
muyuu
Now that it's GPLv3 I'd like to donate but I haven't found a way.

Any way to donate?

------
neon_electro
Will Light Table get OS-specific keyboard shortcuts (Command-based shortcuts
on a Mac instead of Ctrl-based ones) in the future? They're probably the
biggest reason I'm a fan of Sublime Text.

------
unethical_ban
I assume it's an IDE, since there is no information about the product anywhere
on the site.

~~~
6d0debc071
... There's lots of stuff about it on the website

[http://www.chris-granger.com/lighttable/](http://www.chris-
granger.com/lighttable/)

~~~
unethical_ban
I expect a homepage to have a brief description of its product on the front
page of the site. Barring that, I expect a similar brief description and
feature set description on an "about" page. This has neither.

I am eventually able to find out more, but only after assuming what it is and
extrapolating what problems it's trying to solve.

~~~
Sandman
You were viewing Chris Granger's blog. This was a blog post about the new
Light Table version.

What you're looking for is at
[http://www.lighttable.com/](http://www.lighttable.com/)

------
pdknsk
I had no clue what Light Table is, so I went to the website and found out it's
an IDE, but couldn't easily find out what makes it different from editors such
as Sublime.

Also on the main website, the background image has a height of just 762px, but
stretches to the full height of the browser window. In my case, to 1920px
(pivot). Needless to say it makes for an amateurish appearance.

PS. Just from the name, I expected it to be a Lightroom clone.

~~~
jamii
Where most IDEs rely on static analysis to give you information about your
code, Light Table is based around live interaction with your code. You can eg
attach to a running browser and inject new js or css code into the page from
you editor without refreshing. Check out some of the demos:

[http://www.youtube.com/watch?v=gtXpOD6jFls](http://www.youtube.com/watch?v=gtXpOD6jFls)

[http://www.youtube.com/watch?v=d8-b6QEN-
rk](http://www.youtube.com/watch?v=d8-b6QEN-rk)

[http://www.youtube.com/watch?v=V2rOTrnqqtg](http://www.youtube.com/watch?v=V2rOTrnqqtg)

Light Table is also designed to be easily extensible, in the same way that
emacs is. There is a small core which mostly defines interfaces and the rest
of the features are implemented as plugins.

------
aigarius
Nice announcement, _but_ where is the actual source? The github repo "build
instructions" currently tell you to run a script that downloads a binary
release from CloudFront, unpacks that and runs whatever was in in it. Sorry,
that is not source. Well, at least not complete source. Where is the source
for the binaries that are being downloaded and build instructions for them?

~~~
msmithstubbs
The source is at
[https://github.com/LightTable/LightTable](https://github.com/LightTable/LightTable)

The binary from CloudFront looks to be a convenience to avoid building node-
webkit. From the readme:

    
    
      Then we have to do some juggling (unless you fancy building node-webkit from source).
    

You can get the source for node-webkit and build it yourself[1] but it looks
to be time consuming and requires a significant amount of disk space.

[1]: [https://github.com/rogerwang/node-webkit/wiki/Building-
node-...](https://github.com/rogerwang/node-webkit/wiki/Building-node-webkit)

~~~
aigarius
Thanks, that helps a bit. So the ltbin binary blob is actually just a renamed
nw binary from [https://s3.amazonaws.com/node-webkit/v0.8.4/node-
webkit-v0.8...](https://s3.amazonaws.com/node-webkit/v0.8.4/node-
webkit-v0.8.4-linux-x64.tar.gz) release. I was unable to find out where the
libffmpegsumo.so binary came from (I know it is part of FFMpeg and also
integrated into Chromium, but what exact version is compiled there and with
what options? They differ a lot, even in the legal context). And then there is
the whole plugins folder which contains more sources that are not in git for
some reason.

There is no real point for LightTable to be providing some bunch of binaries.
A pointer to node-webkit would be enough, they have binaries (and build
instructions) on their github front page.

~~~
aigarius
The reason plugins are not in the main git is that each of them has its own
repo. Which begs the question - why are they copied from a release zip and not
cloned from repos?

There are a few more funnies there: .gitignore does not ignore the binary
files added by these scripts, if there is a new node-webkit and then
LightTable release and you re-run the script, your local old node-webkit copy
will overwrite the new copy you just downloaded :)

Someone needs some solid packaging help. Oh and node-webkit people need a LOT
of very good packaging help. Their build process is so convoluted, it might
actually spawn an extra-dimensional entity.

------
methehack
Is anyone aware of a particular reason that making a ruby plugin would be
difficult? Seems like it would be a lot like the python plugin.

~~~
methehack
Also -- for those interested in ruby -- basic syntax highlighting appears to
be there already (I just downloaded the release and looked)...

~~~
jamii
The code highlighting comes from CodeMirror. Adding ruby support should be
fairly simple. The python plugin
([https://github.com/LightTable/Python](https://github.com/LightTable/Python))
is only ~300 lines of cljs and ~750 lines of python and the cljs side
shouldn't need too many changes.

~~~
existentialmutt
That's exactly what I'm doing here:

[https://github.com/existentialmutt/lt-
ruby.git](https://github.com/existentialmutt/lt-ruby.git)

------
_pmf_
I'm impressed by the performance and start-up time of their JS-based
environment; it's ridiculous that it's that fast while a heavily modularized
OSGi-bnased Eclipse environment takes an order of magnitude more time to
start, in spite of lazy loading of modules.

The font rendering is shitty, tough, but that's probably expected when using
OpenGL.

~~~
azoapes
If you're talking about Windows, then maybe it will improve once this issue is
fixed:
[https://code.google.com/p/chromium/issues/detail?id=137692](https://code.google.com/p/chromium/issues/detail?id=137692)

~~~
babby
So, okay then, it's about 12 weeks away from hitting stable. Took em a while
but I'm glad it's finally being fixed.

------
philliphaydon
I just downloaded it. Besides creating a file, typing some stuff. I don't
understand how it works or what it's meant to do... Quick google search, I
can't figure it out... Am I missing something?

The video on the website, I can't even...

So confused :(

------
nilsimsa
I look at some of the Kickstarter projects I sponsored (mostly hardware and
software) and it seems most of them are a year behind schedule. It is nice to
see that I'm not the only one bad at estimating project schedules. :)

------
agumonkey
I remember a little while ago people being very suspicious about LightTable
being open sourced, quoting the fundraising page, doubting about
extensibility. Kudos to ibdknox for his creation!

------
mbillie1
Very cool! Hopefully this will lead to some more enthusiasts contributing and
making this as full-featured and robust an IDE as it has the potential to be.
Good job open sourcing this.

------
nilved
This is pretty cool. Does Light Table have plain text configuration that can
be stored in git? I would consider an editor that isn't configured that way to
be a regression.

------
rcarmo
_sigh_ no way to get an ARM build going, though, nor more pointers for doing
so with node-webkit. See
[https://github.com/LightTable/LightTable/issues/703](https://github.com/LightTable/LightTable/issues/703)
for more info.

(Build instructions currently consist of dumping part of the current binaries
and rebuilding the CLJS bits, which is straightforward but doesn't help much
with porting to other archs)

------
geertj
Does it need a Java Runtime to run?

~~~
jamii
You only need a jvm to use the clojure(script) language mode. You can use
python/js/html/css modes without a jvm.

------
john2x
Would a terminal interface (maybe as a plugin) be feasible in the future? I'm
cursed with Vim, and I'd love to use this as a REPL for development.

~~~
joshuafcole
Definitely a possibility -- LT is very flexible. Even if you choose to more or
less ignore the plugin interface, you can interact directly with the DOM. I
imagine the path of least resistance for a terminal plugin is just to open a
new named tab via the API and then inject an existing HTML terminal emulator
into it with access to the local machine.

~~~
john2x
I'm trying to picture this. So I have LT open, and then I interact with it via
a 3rd party terminal application? Maybe the terminal app can "pull" output
from LT (or LT "pushes" output to the terminal app?

~~~
joshuafcole
You could certainly set up a bridge over sockets or ajax, but I think the true
beauty of LT is that you can actually embed an extant web-based terminal
directly into LT's dom and interact with its native events. LT runs in node-
webkit, which is essentially chromium. The only barrier to entry I can think
of is that it might be difficult to set up the terminal emulator to interact
with the local FS, but its definitely a solvable problem. My current plugins
both interact directly with the DOM and the local FS for various purposes
using node and jQuery. The jQuery is honestly unnecessary thanks to only
needing to support webkit, but it was a simple expedient and its luxurious not
worrying about byte count since everything is running off the local machine.

------
joshdick
This is great news. I love using Light Table for Clojure development, and it's
exciting to know that it's open for contributions now.

------
ciol
The Windows install instructions listed on the repo didn't work right out of
the box for me - the app would just stay the "light table" welcome screen and
nothing would happen. Figured out through the nw console that bootstrap.js was
missing in core/node_modules/lighttable, and adding that seemed to do the
trick. Maybe I did something wrong, though.

------
michaelsbradley
The EPL would have been far preferable to the GPL given that it's not hard to
imagine derivative open source projects that would bundle and mix Light
Table's source code (or parts of it) with other Clojure/Script projects'
source code, the majority of which is published under the EPL.

Unfortunately, the EPL and the GPL don't play nicely together.

~~~
ibdknox
There was some discussion about going with the GPL on the mailing list:
[https://groups.google.com/d/msg/light-table-
discussion/5YscX...](https://groups.google.com/d/msg/light-table-
discussion/5YscXFxTLRE/Ruh5Rxs3jj4J)

If you have different needs, shoot us an email and I'm sure we can work
something out.

~~~
dkersten
_I 'm sure we can work something out_

Its been mentioned elsewhere here, but you should probably think about having
copyright assignment before accepting third party (non-plugin) patches, so
that you can continue to _work something out_ with people in the future too.

~~~
ibdknox
We have a CA as well, adapted from Twitter's:
[https://docs.google.com/a/kodowa.com/forms/d/1ME_PT6qLKUcALU...](https://docs.google.com/a/kodowa.com/forms/d/1ME_PT6qLKUcALUEz1h1yerLF7vP_Rnohpb9RvMLDALg/viewform)

------
politician
I am both happy and kind of annoyed by this announcement. As a backer, I felt
that I "paid" for some extra licenses by backing this project based on the
reward levels. I did get a T-shirt though.

Anyway, it's better for the community that it's free(ish) though I wish
Kickstarter would exercise some control over its reward system, but lesson
learned.

~~~
notimetorelax
I always thought that kickstarter was a way to subsidize development and is in
no way a form of investment.

~~~
chii
and you're right. Kickstarter is not an investment platform. Which is why i
don't ever contribute to a kickstarter, unless i know i m getting some return
on investment back (either in the form of payment, or an appropriate amount of
discount for the product).

I wish there is a true crowd funding platform where you could "own" and
partake in the profits generated from the funding.

~~~
nickik
Thats not gone happen because of goverment regulations.

------
yawz
So what do Kickstarter backers think about this? Was open-sourcing Light Table
always the plan?

~~~
liyanage
I backed this on Kickstarter and I'm very disappointed that it's now GPL and
not BSD/MIT-licensed.

------
Tehnix
Would really like to see Haskell integration (via a plugin?) support for this!

------
guiomie
This looks interesting, and I always wanted to learn lisp/clojure, but the
website doesn't say much on how to use the tool. Anyone with good blog posts
about clojure with light table on windows ?

~~~
jamii
Try
[http://docs.lighttable.com/tutorials/full/](http://docs.lighttable.com/tutorials/full/)

------
elwell
Source is mostly ClojureScript. Interesting... was expecting jvm Clojure.

~~~
dminor
Chris mentioned this at the end of a previous post: [http://www.chris-
granger.com/2013/01/24/the-ide-as-data/](http://www.chris-
granger.com/2013/01/24/the-ide-as-data/)

ClojureScript on node-webkit is looking like a very interesting platform for
desktop apps, especially with om/react.

~~~
stcredzero
I would like to see ClojureScript as a server side language as well.

~~~
babby
It is if you run it on node.js, as it is when you run it on node.js -> node-
webkit silly :).

------
jalan
The last time I heard about Light Table, the Ruby was not supported. Could
someone please clarify which languages are supported, as of this release?

BTW, awesome work Chris, really looking forward to use it.

~~~
elwell
I think it's Clojure, Python, JavaScript, HTML, and CSS.

EDIT: added Python

~~~
airlocksoftware
And Python.

------
daGrevis
My comment from earlier today.
[https://news.ycombinator.com/item?id=7023884](https://news.ycombinator.com/item?id=7023884)

tl;dr It's happening!

~~~
masukomi
it should be noted that if you find the vim support lacking in LightTable it's
just a matter of adding what you need to CodeMirror (which is where LightTable
gets its vim support) and then LT, and everything else that uses CodeMirror
will get better, and all us vim users will be thankful.

~~~
owaislone
How does one actually enable Vim mode in LT?

~~~
usr
First you have to install the plugin. In the menu at the top, go to View then
click on Commands. The commands will appear on the right side (and note that
you can just start typing the name of a command to filter it out). Click on
this one "Plugins: Show plugin manager". Then on the Plugins, make sure you go
to the Available section. Scroll down and find Vim and click on it.

Now you have to enable it. Go back to Commands and find "Settings: User
behaviors" . Then go to the :editor section between the square brackets. Type
"vim" and it will show a popup with several items it can complete. Pick this
one: "Vim: Activate Vim mode". It should then insert this:
:lt.plugins.vim/activate-vim Save the file and it should now work!

------
atmosx
I give it a shot under macosx. The CPU goes a little bit crazy on my Air, but
since it's an Alpha version might be improved in the future.

Good work though, I like the look and feel.

------
GhostHardware
This is the first time I read about lighttable and I'm glad I did. It looks
really sweet. Now all I need is good vim plugin and I think I'm finally set.

~~~
e12e
Apparently there are already vim keybindings:

[https://github.com/LightTable/Vim](https://github.com/LightTable/Vim)

Not sure how complete they are, though (or rather: if they make lt work "like
vim", or just add some short cuts).

------
selmnoo
Cool, cool. And it's -free- (GPL'd) too! So happy to hear this. Thank you _so_
much, Chris. Your hard work is heartily appreciated.

------
madlag
This is really exciting news, I am really glad I backed them on KickStarter !
Maybe even a good reason to try to learn Clojure ;-)

------
josephagoss
I always thought that the best license was the MIT one. Can someone enlighten
me as to why choosing GPLv3 is a better choice?

~~~
krig
Well, the question is, best for what? If the goal is to maximize the amount of
Free (as in libre) software, then the GPLv3 is arguably the best choice. If
the goal is to provide liberty, as in letting people choose what to do with
the code for themselves, then MIT might be a better choice.

The GPL is infectous by choice: If some part of your project is under the GPL,
the whole has to be licensed under GPL. This is not the case with the MIT
license.

~~~
davexunit
The GPL is not "infectuous" or "viral" or any of that nonsense. The GPL does
not spread on its own. Your code isn't going to catch copyleft by sitting next
to some free software.

~~~
krig
Ah, sorry for being unclear, I wasn't aware that this was such a loaded term.
I am not against the GPL, and I don't mean that in a negative way. I meant
that in the sense that it dictates conditions for the "combined work", not
only the source code directly under the license.

~~~
davexunit
It's okay. It's just most often used as a pejorative term by people who
dislike copyleft.

------
storrgie
Is anyone flocking to this over sublime?

~~~
filipedeschamps
Currently we are heavely using Brackets to develop Node.js apps and will give
lightable at least a try.

~~~
aroman
Very curious about how this has been working for you. How has it improved your
experience developing node apps? Any tips you have for setting it up?

------
deevus
How does "Editor: build file or project" work? Can I create my own build
targets?

------
jopython
Will there be a Ubuntu package for Light Table which ensures all dependencies
are met.

------
phireph0x
I backed them on Kickstarter; glad to see they're open sourcing the code.

------
Touche
Looks like the rest of my day is blown as I read through this source.

------
izietto
Great news! Can't wait to replace SublimeText with this :P

~~~
jbeja
I already replace it with Emacs

~~~
izietto
I can't get used to Emacs (or Vim neither), they require too much keyboard
interaction and they are aesthetically ugly

~~~
mkartic
why are they 'aesthetically ugly'? do you mean they don't have windows with
glossed borders?

~~~
izietto
I mean they lack in harmony IMHO, like KDE, which has ugly icons and button
with not harmonious paddings

------
elwell
Good timing, right when Clojure is starting to take hold.

------
elyase
Is there going to be an Instarepl for Python?

~~~
jbeja
There is already one

~~~
elyase
Is it documented anywhere? I know there is a REPL but haven't seen anything
about an Instarepl like the one for Clojure.

~~~
jamii
There isn't an instarepl for python, only the normal eval-in-editor. For
debugging, watches are a semi-substitute.

------
filipedeschamps
I'm dying to checkout the watch feature.

