

EtherPad Open Source Release - aaroniba
http://etherpad.com/ep/blog/posts/etherpad-open-source-release

======
atamyrat
They also released internal development notes, goals, TODO list, design
decisions etc. Check out *.txt files.

[http://code.google.com/p/etherpad/source/browse/trunk/infras...](http://code.google.com/p/etherpad/source/browse/trunk/infrastructure/ace/easysync-
notes.txt)
[http://code.google.com/p/etherpad/source/browse/trunk/infras...](http://code.google.com/p/etherpad/source/browse/trunk/infrastructure/ace/notes.txt)

Thanks for sharing them!

~~~
friism
Yeah, and I really hope the paypal password in billing.js is not the real one:
[http://code.google.com/p/etherpad/source/browse/trunk/etherp...](http://code.google.com/p/etherpad/source/browse/trunk/etherpad/src/etherpad/billing/billing.js)

~~~
zamfi
Nope; it's for the PayPal sandbox.

------
staunch
Thanks to The Google & The Etherpads!

I fully expect to see 30 different sites offering this now, and HN to be full
of links to them tomorrow.

~~~
flog
For those of us who have been working on side-project competitors for a few
months this is a worrying prediction, and quite probably correct.

Can HN name any niches that they feel should be filled with a similar product?

~~~
Raphael
Make it more technical. Monospace, syntax highlighting, version control, TeX,
markdown. Would also make an interesting mash-up with Bespin.

~~~
majke
<http://cometdemo.lshift.net:8080/> ?

~~~
alnayyir
Crashed in 10 seconds.

I'm like a walking bug plague.

------
aditya
Not completely related but, super interesting that etherpad actually started
as appjet.

via crunchbase: _AppJet intends to simplify the process of writing web
applications. The applications are programmed on a web based text editor in
the simple but powerful JavaScript programming language. JavaScript is used on
both the server and client side._

I guess they ended up realizing that the code editor was a better
product/market to go after than the app creation/hosting itself.

Also, interesting that pg invested in the angel round as well, post-YC.

More: <http://www.crunchbase.com/company/appjet>

------
jsomers
Man, I can't wait to build this locally. In its raw form I expect it to work
great for essay writing, etc., but I can imagine all kinds of cool
modifications, like allowing cross-pad hyperlinks. Let the hacking begin!

Edit: I realize that a local build makes very poor use of etherpad's killer
feature--its super-fast realtime collaboration--but the biggest draw for me
was actually their "playback" mode.

~~~
paraschopra
Yes, a cool feature would be to let multiple etherpads talk to each other.
Sort of like Google wave :)

Also imagine HN (or any other forum) working on some sort of similar platform.
Threaded chats I would say.

~~~
jackchristopher
Yeah, the three things I wanted to see in EtherPad was XMPP support, easy
embed and email name association.

------
anotherjesse
I want it so I code do:

    
    
        % etherclient foo.txt
        etherclient accepting from http://example.com/as213
    

Then I can share the url with co-workers. The pad is initialized with the
contents of foo.txt and then updates are sent.

Then make it be more project based. Then integrate revision control.

Perhaps I should sleep instead of reading code.

------
ique
I have my last final today. This comes as a perfect school-is-over-and-i-can-
start-hacking-again gift! I'm hoping to be able to integrate LaTeX export into
this so I can collaborate on LaTeX reports without having to download and
build manually.

~~~
grinich
I had the same thought.

Let me know if you want to collaborate. <grinich@mit.edu>

~~~
dantheman
I too had a similar thought :) I'm booked until mid January, but would be
interested in collaborating then.

------
iandanforth
<http://netherpad.com>

Sponsored by PBworks!

Or if it's easier for you to remember:

<http://etherpad.pbworks.com>

~~~
myprasanna
Alternatively you can use: <http://ietherpad.com/> Thanks.

------
joshwa
Yay! Now we can do remote pair-programming totally within our internal network
(the IT Policy goons are quite unhappy when it comes to using cloud-based
services).

~~~
palish
_remote pair-programming_

Doesn't that defeat the supposed purpose of pair-programming?

~~~
bretthoerner
> the supposed purpose

Which is?

I think with shared input, shared editing buffers and a voice communication
channel you're pretty much there.

~~~
palish
Ah, if there's voice communication, then yes. Voice comm is important.

------
houseabsolute
Huh, looks like the whole thing, client and server, are written in Javascript.
I think I would be fine with that. Beats writing it in C++ that's for sure.

~~~
dimarco
There is a ton of Scala in there.

~~~
houseabsolute
Where? I only sampled a few directories, couldn't find anything except js.

~~~
dimarco
Check the 'infrastructure' at the root.

~~~
houseabsolute
Oh, thanks. I had assumed that whole appjet thing was some kind of framework,
not the actual EtherPad server.

------
10ren
Does this mean it definitely was talent (including know-how etc) rather than
technology or market acquisition?

~~~
jsankey
Not necessarily: maybe Google also wants to use some of the acquired
technology, which they now can in its open source form. They're just not
stopping anyone else from using it.

------
colinplamondon
Awesome! You guys handled this incredibly well, and open sourcing with an
Apache license is super classy. Can't wait to see what comes of this, and
starting up our own internal instance. Thank you!

------
grinich
Wow, that was fast.

Huge thanks to both the Appjet team and Google for doing this.

------
defen
Anyone feel like digging into the code and doing a writeup about the "secret
sauce" - how they managed to make the real time stuff so responsive?

~~~
alnayyir
non-blocking Event I/O, server-side + client-side JS.

Cf. node.js for infrastructural style (but with Scala in Etherpad's case)

------
simonw

        $ sh bin/rebuildjar.sh 
        using JAR jar...
        usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file     target_file
               cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ...     target_directory
        including etherpad JARs...
        using cached JAR-etherpad...
        updating...
        java.io.FileNotFoundException: ../../build/appjet.jar (No such file  or directory)
    	at java.io.FileInputStream.open(Native Method)
    	at java.io.FileInputStream.<init>(FileInputStream.java:106)
    	at sun.tools.jar.Main.run(Main.java:175)
    	at sun.tools.jar.Main.main(Main.java:1044)
        done.
        cp: build/appjet.jar: No such file or directory
    

Anyone got any ideas what I'm doing wrong?

~~~
aaroniba
Looks like the cp failed. What operating system is this on?

~~~
rajasaur
From cp usage message, it seems to be a Mac. But compilecache.sh seems to be
handling properly for Darwin based systems.

------
mark_l_watson
Awesome, following the directions, it took just a few minutes to get a local
copy running. I used to run my own online word processor, written about 6
years ago for my own use, but a few thousand people signed up to try it. It is
tempting to run an EtherPad instance for my business clients, and another one
for my friends and family. That said, eventually I think that Wave will be
awesome so sticking to that makes the most sense. Investing a lot of time to
get into the EtherPad codebase seems like a slippery slope to non-
productivity.

------
kroo
Hopefully this will lead to strong community around real-time eventual-
consistency text synchronization. Here a link to etherpad's implementation of
their magic algorithm:
[http://code.google.com/p/etherpad/source/browse/trunk/etherp...](http://code.google.com/p/etherpad/source/browse/trunk/etherpad/src/etherpad/collab/ace/easysync2.js)
\-- though it's pretty tightly integrated with their editor component, "ACE".

------
anotherjesse
I've wanted to add a feature like this into userscripts.org for a long time!

stop! compile time

------
ga
Coming to the competition : <http://uxoo.com> Now what? A feature race? Back
to the problem of monetizing a website based on free software, where there is
little to no entry bar.

------
jbyers
...and it's offline. Whole repo now 404s.

[edit] Appears Aaron is re-importing the tree as I type. Paths have all
changed to be under trunk/trunk...

[edit2] Back to normal paths. Not clear what has changed.

------
slig
First of all: Thanks!

Does anyone knows the minimum requirements? I was planning to deploy it on a
low cost vps, but I suspect that it's going to need at least 1GB of ram.

~~~
mark_l_watson
Right now, on my MacBook, the RSIZE is 204M.

Not too much memory.

------
MikeCapone
Well, that sure isn't being evil. Thanks!

------
mattiss
I just took a quick look around, but is all of the server-side code down in JS
as well?

~~~
rajasaur
I took a quick look too and it looks like its javascript calling over to Java
using Liveconnect (<http://www.mozilla.org/rhino/scriptjava.html>). The
infrastructure folder contains support for Rhino.

------
known
<http://piratepad.net/>

------
shotgun
Oh boy! I'm gonna have some fun this weekend!

------
vaksel
the mob has spoken

~~~
ludwig
The mob is sated....for now.

