
Textmate2 Goes Open Source - evilduck
https://github.com/textmate/textmate
======
thejerz
I don't want to pick on Allan Odgaard, but I think the way he's handled the
TM2 project is pretty bad.

Allen is a great guy and I _love_ TM. However, here are some facts. TM2 has
taken SIX YEARS. It was "90% done" 2009.

This is a living, breathing case study in why quick customer-driven releases
are better than "big upfront plans" and "giant system rewrites." Anyone who
has developed a major application knows what I'm talking about. These "big
rewrites" almost always take much longer than expected, as has clearly
happened here.

I have learned to listen to what your customers want, and just build it.
Develop it in a few weeks, release it, and then ask again what your customers
want. Some people call it "customer-driven development" and I think that's a
good way of phrasing it.

~~~
endersshadow
It's a famous Joel Spolsky essay: Things You Should Never Do, Part 1 [1].
Never do a full system rewrite. Pain and sadness follow.

[1]: <http://www.joelonsoftware.com/articles/fog0000000069.html>

~~~
lectrick
When I joined thredup.com as the very first employee and the 2nd programmer,
we decided to do a complete rewrite. It ended up being a great decision.

I think that the real lesson to be learned is that you should beware of rules
that start with "always" and "never".

------
LoonyPandora
It doesn't appear to be a code-dump to GitHub, which would be indicative of
fading interest on behalf of the original developer.

The ReadMe, build process, and licensing instructions all point towards this
being a well planned Open Sourcing of a product.

I'm pleased with this, and hopefully it will spur development of TM2, allowing
it to truly compete with the up-and-coming Sublime Text 2.

~~~
lloeki
> _the up-and-coming Sublime Text 2_

Sublime Text 2 has been released since later this June[0]

[0] [http://www.sublimetext.com/blog/articles/sublime-
text-2-0-re...](http://www.sublimetext.com/blog/articles/sublime-
text-2-0-released)

~~~
cobralibre
You're confusing _up-and-coming_ , meaning "showing promise", with _upcoming_
, meaning "forthcoming".

~~~
lloeki
Thanks, I'm not a native english speaker so I misunderstood the idiomatic
expression's true meaning.

~~~
eblume
To be fair, that is a particularly idiotic idiom.

------
willurd
I don't understand the negativity being shown towards TextMate in this thread.
This thread is about an extremely popular editor going open source, something
people have been asking for for a long time and something we should all be
THRILLED about, regardless of whether we use it.

Can we save the editor wars for another thread and maybe, just maybe, actually
talk about the code?

~~~
0x09
I'm personally _super_ excited. Ever since reading this[1] blog post I've
wanted to cobble together an editor with some level of libclang integration,
but the amount of wheel reinvention involved kept it an idle idea. As a TM
user already, having the codebase available is way more than I could've asked
for.

[1] <http://etoileos.com/news/archive/2010/10/15/1401/>

------
emehrkay
I've been using Textmate 2 for the past week or so and I still prefer 1 +
missing drawer. For me, the only thing Textmate 1 is missing are split views
(something 2 is missing as well).

I wonder if there is still enough interest in the app where people will
contribute all of the community's desired changes -- I hope there is.

Am I one of the only Textmate users who feel that Sublime isn't the right
"upgrade"? I much prefer Chocolat or Vico as they feel more like native OS X
applications.

~~~
ryanisinallofus
ST2 is native enough for me and cross-platform should be on the list of every
programmer's requirements for a text editor.

I use Vim on OS X right now and I like it but used ST2 just yesterday (odd
timing). I agree with others that it is basically the TM2 we were waiting for.

~~~
eblume
If you haven't heard of it, ST2 has something called "Vintage Mode" which
adopts a fairly large subset of the Vi/m commands. It will completely change
the command set of ST2 and gets close enough to Vi for most of my needs.
Notably absent is the search/replace syntax of vim, but ST2's works well
enough I suppose.

~~~
robmil
Vintage mode is admittedly getting more complete every day, but as a regular
Vim user the absences that exist are often a jolting distraction — attempting
to use some command that doesn't exist jerks you out of your flow and it feels
so inefficient to then have to remember the Sublime way of doing things.

I find it more annoying than the lack of, say, Cmd + T in MacVim, so I've
found myself spending more and more time using that — even after a concerted
effort to use SublimeText for a while.

~~~
haldean
This is the biggest problem with learning vim. I was an Emacs user for ages,
and I could use other text editors fine. The "Emacs mode" in them usually just
meant readline hotkeys: C-p and C-n for previous/next line, C-a and C-e for
beginning and end of line, and C-k for delete line. These are the only real
movement commands I used in Emacs, and they work in almost anything. Even nano
has most of these.

But now my hands are wrecked. My fingers have minds of their own. My muscles
have learned a subset of vim that does not seem to be a subset of any vim
plugin maintainer's usage. I'll be in Vimperator or Eclipse vi-mode or Vintage
and I'll hit cf" and nothing will happen, and I'll realize I'm completely
lost. I lose my chain of thought and it takes me a non-negligible amount of
time to realize that I'm going to have to hold down shift and use the arrow
keys like some sort of Notepad user. I become irrationally angry and wish
horrible torture upon the poor soul who wrote the (altogether pretty good) vim
plugin I'm using, because who are they to not include EVERY SINGLE VERB AND
NOUN that my fingers have painstakingly learned over the past few years. I
slam my keyboard against the table, throw the mouse through the monitor, then
roundhouse-kick the tower off the desk before I set fire to my desk every time
a vim plugin is incomplete.

Vim has reduced me to a pathetic teary wreck every time I have to use a text
editor that isn't vim.

I wrote this in vim.

------
umjames
Blog post explaining why: <http://blog.macromates.com/2012/textmate-2-at-
github/>

~~~
JulianWasTaken
This doesn't really explain much.

The way TextMate2 was going, I'd bet it's something like, it wasn't getting
done, and the author was too busy or uninterested to continue, so open
sourcing it probably is a way that it may actually ever get finished.

~~~
umjames
You don't think it has anything to do with Sandboxing requirements in the App
Store and Mountain Lion having an option not to allow non-App Store
applications? I'm seriously asking, not trying to start a flame war here.

~~~
glhaynes
The original TextMate isn't on the App Store and I'd have to think the number
of people who go into the Security settings and disallow running of non-App
Store signed binaries is vanishingly small.

~~~
ChiperSoft
That setting only changes the ability to launch an app right after download by
double clicking it. It doesn't actually prevent the program from running, you
just have to take more steps to launch it the first time.

However TM is being kept out of the app store for other reasons, such as it's
ability to prompt for an administrator password to allow writing to protected
files.

~~~
chrisrhoden
Yeah, this is not true. There is a separate setting which controls a pop-up
confirming whether or not you want to run an app that you downloaded, the
first time you attempt to run it. The setting referred to here actually BLOCKS
the running of new non-app-store (or, by default, non-signed) applications.

<http://imgur.com/7bduA>

Apparently, you can alt-click and select open, but my gut tells me that this
was an oversight and will not last long. This feature was touted as a
potential way to protect children, and if overriding it doesn't even require
entering a password it fails at that pretty badly.

~~~
ralfd
Control-Click. I don't think it is an oversight, because "Manual Override" is
touted officially as a feature:

<http://www.apple.com/osx/whats-new/features.html#gatekeeper>

And even explicitly mentioned in a system dialogue:

[http://cdn.arstechnica.net/wp-
content/uploads/2012/07/gateke...](http://cdn.arstechnica.net/wp-
content/uploads/2012/07/gatekeeper-anywhere-warning.png)

I am still not on Mountain Lion, so I don't know if you need to enter a
password (which children shouldn't have) or right clicking is enough?

------
albertzeyer
I created a binary from the current source, if anyone is interested:

[https://github.com/downloads/albertz/textmate/TextMate-2012-...](https://github.com/downloads/albertz/textmate/TextMate-2012-08-09.zip)

------
powerslave12r
Awesome! Can someone comment on how probable it would be to port it to linux
(and windows)?

~~~
nicholassmith
Well it's all in Obj-C, so either a non-OS X Obj-C compilation tool or rewrite
it out all out of Obj-C.

Doable, but I don't think many people will be queuing up for the task.

~~~
mhd
Erm, Objective-C probably isn't the problem, even NeXt used gcc for that (not
sure how much of the current feature bloat isn't in copyrighted libraries).

But GNUStep isn't exactly up to par with Cocoa, never mind not exactly the
default desktop environment. Porting the whole editor from Obj-C++/Cocoa to
C++/KDE or C/Gtk would be a pretty huge task, where you'd better off starting
from scratch anyway (as with a lot of GUI apps, it's mostly about the ideas,
not the implementation).

~~~
randomdata
Cocotron[1] attempts to be up to part with Cocoa though. I'm not sure if it
would cover everything needed by TM, but it would be a pretty decent start.

[1] <http://www.cocotron.org/>

~~~
mhd
Considering that the only reason GNUStep isn't considered a totally failed
project is the existence of Hurd, I wouldn't bet my money on creating a
reasonably up-to-date cross-platform Cocoa/OpenStep clone. Try to see if the
base Objective-C++ is working alright and create a GUI-independent layer, at
least that way you'll get your native look-and-feel for free. But looking at
the code, I think that'll excisce a lot of the core TM tech, so whether it's
worth the conversion effort instead of just starting brand new is a pretty
good question.

------
chmars
I am not sure how to read the statement by Allan Odgaard. It does not include
any hint on the future of Textmate: Has Textmate become open source
abandonware or does Allan Odgaard intend to lead the future development of
Textmate as an open source?

The latter would of course be great, the former rather sad from a user
perspective since most former closed source apps do not survive for long after
a switch to open source.

~~~
shadowfiend
It does, actually. He mentions asking about pull requests and such, so it's
clear he (or they, as it's all pluralized) intend(s) on maintaining the
repository.

------
podperson
I stopped using TM1 for one reason: undo (which is one. character. at. a.
time.) TM had a lot of fans, but no-one liked its undo (some didn't dislike it
that much).

TM2 alpha didn't fix it. Gave up.

~~~
defeated
I've been using it since the first alpha release back in December or whenever
it was released and I can say that alpha absolutely fixes the one character at
a time undo (and has since the first release).

------
MikeKusold
This is going to be a mess initially. So far there has been a pull request
changing the license, and issues such as "Improve syntax highlighting
performance. It sucks much compared to Chocolat or Textmate 1 currently."

~~~
89a
"Improve syntax highlighting performance"

To be fair… watching a highlighter crawl down a small file is a complete joke

------
DTrejo
TextMate 2 tarball for your downloading convenience:
<https://dl.dropbox.com/u/10047/TextMate2.tbz> Binary uses latest source. [I
compiled and tested, works on Lion at very least]

------
bostonvaulter2
I'm confused as to how he could ever sell Textmate2 if he's linking against
ragel, a GPL library. Well of course he could sell it but he'd have to release
the source.

~~~
X-Istence
ragel isn't a library. ragel takes input and turns it into a state machine.
The output from ragel isn't under any specific license other than your own,
see the section on license on the homepage (copied below)
<http://www.complang.org/ragel/>

    
    
      > Note: parts of Ragel output are copied from Ragel source covered by the GNU
      > GPL. As a special exception to the GPL, you may use the parts of Ragel output
      > copied from Ragel source without restriction. The remainder of Ragel output
      > is derived from the input and inherits the copyright status of the input
      > file. Use of Ragel makes no requirements about the license of generated code.
    

ragel is actually extremely cool and I've used it extensively in non-open
source code for various things. I haven't even scratched the surface yet with
how powerful it can be and I definitely want to spend more time with it.

~~~
bostonvaulter2
Thanks that makes sense. I've been meaning to get to know ragel better.

------
rigelstpierre
I think this was something a lot of people had seen coming. Really at this
point it was only Hardcore Textmate users left. Most people in our office use
either Sublime Text 2, BBEdit, Emacs or Vim. Sublime has made the change from
Textmate really easy.

It's good to see that they are sharing their hard work with the community but
it's sad to see a legendary text editor basically die!

------
happywolf
I am cloning it right now before it is too late!

------
xentronium
Am I the only one surprised by total lack of history in the repository?

~~~
ChiperSoft
Considering the age of the project it probably wasn't being managed in git to
begin with. I've seen some estimates that Allan started development around
2006. Git only came out in 2005 and took a few years to gain traction.

~~~
abc_lisper
Doesn't matter. Git has plugins to pull from other repositories.

~~~
jwarzech
I've never used the git transfer plugins but I've had some past headaches
moving to different source control systems. I usually just start a fresh
repository with the latest snapshot and keep the old system available if
anyone has to really go back that far (in my experience after a few weeks no
one really ever has had to do this).

~~~
pilif
The product I'm working on most of the time started 2004 as a CVS repository,
then was converted to svn where it spent a lot of time in and hen in 2009 it
was converted to git where it lives ever since.

I've had no issues during either conversion (aside of mistyping an author
name, but filter-branch helped). All branches were successfully transferred.

Now I wonder what kind of issues you were having.

------
briandear
The best part about TextMate is that it led us to Sublime.

~~~
vivab0rg
I'm thankful that the stagnation of TextMate led me to VIM, on both my Mac and
all my Linux boxes. Thank you TM, it's been a great ride!

------
premist
Unexpected. Just awesome.

------
shell0x
That's great :) I mostly use vim on the command line, but Textmate is great
for dealing with Rails applications. I know, there is the nerdtree plugin for
[Mac]vim, but the Textmate folder view is much better imho. Also, it's a nice
tool for beginners, because you have zero configuration, but a really powerful
editor.

------
electic
I think this is the right move. In my opinion, TextMate is not that great to
ST2 or some other editors. Hopefully, it being open-source can get it closer
to being on par. All I can say is thank god I never bought previous versions
of TextMate and went with great alternatives.

~~~
zekel
On the other hand, I am very happy to have given him my money and supported
the development of (what I think is) a fantastic editor.

Even though he said he would make TM2 a free upgrade, my plan was always to
buy another copy to show my support.

------
mjackson
So awesome. Thank you Allan.

------
obilgic
where can i download the precompiled app?

~~~
weaksauce
His website still has the binary on it.

~~~
albertzeyer
Where?

On <http://macromates.com/> I just see a download to a 30 day trial version of
TextMate 1.5.11.

After googling, I found <http://blog.macromates.com/2011/textmate-2-0-alpha/>
which is from 2011 and provides a TextMate 2.0 alpha (r8930) download which
also requires a licence key.

------
chucknelson
Uhm...is it strange that comments are no where to be found in the source?

------
debugging
I can't imagine this was because Textmate isn't selling well enough. I could
be wrong but I always looked at Textmate as an example of an app that must be
making a killing.

------
kposehn
Textmate2 needs one thing for me to use it prime-time again: split screen in
OS X full screen mode (just like Sublime Text 2).

Now I can code that myself (oh joy :)

------
nsomething
Maybe now I can add my own "replace" button in the Find Dialog of TextMate 2.
The only button there for me is "replace all"

Does anyone else have that issue?

~~~
jwarzech
I haven't used TM2 since it was first released however if its like TM1
'Replace' only appears on the single file find (cmd+f) and is not available on
the find in project (shift+cmd+f) dialog.

~~~
cowpewter
In the Find in Project (in TM1, I've not used 2), just cmd-click to select the
found instances you want to replace, and the Replace All button because
Replace Selected

------
barbs
Anyone else keen to add vim keybindings? ...anyone?

------
sswezey
What is the motivation for this? Is the developer losing steam / is support
for it not strong enough? Either way, this is pretty cool.

~~~
orta
Whilst the site is down at the minute I can only offer conjecture. Basically,
people waited so long for TextMate 2 to arrive, when the betas finally did
land it was totally underwhelming. Sublime Text 2 had already started to
replace TextMate for most Mac developers and finding out that the wait for
TextMate 2 probably wasn't worth it probably just made people move over. I
know a year ago everyone in my office used TextMate and now none do for pretty
much these reasons.

------
drivingmenuts
Personally, if I could combine the TM modules into BBEdit (which uses
Applescript for scripting), I'd be perfectly happy.

------
owenjones
Is it wrong of me to be a little miffed that I paid $50, admittedly a long
time ago, for Textmate?

~~~
LoonyPandora
I don't know how long ago you paid for it, but I paid £35 for my license 3
years and 1 day ago (August 8th, 2009)

3 years of use from a product, plus we now have the almost-guaranteed support
and speedier development because of it's Open Source nature. I think it was
worth the money.

If you paid for it last week, I can understand frustration.

~~~
ralfd
> plus we now have the almost-guaranteed support and speedier development
> because of it's Open Source nature

I am more pessimistic. I think the project died and open sourcing will just
reanimate it to undead Zombie status.

~~~
fromhet
Because it's developement were happening at a rapid pace before the releasing
of the code?

------
agos
Just got a tweet from @macromates, they say they'll still charge for binaries

------
tuananh
a very unexpected news for today! certainly i hope allan won't abandon it but
keep leading this open source project.

------
owaislone
Linux (QT/Gtk) port.. Anyone? Anyone?

------
rbanffy
Can it be ported to run on GNUStep?

------
joewee
Time to go bug hunting...

------
lr
Where can I donate???

------
rjzzleep
another victim of the second system effect?

------
ved_a
Alas, there is no linux port.

------
batista
If we are completely honest, Textmate was always a sub-par editor.

No Vim or Emacs style brilliantness, no BBEdit style tons of features and
mature engine, no IntelliJ like, er, intelligence, no ST2 comprehensiveness,
etc etc.

Plus, the Textmate 1.x text engine was probably a mess too -- I remember the
very first versions being laggy (and that's coming from someone who doesn't
find even Eclipse laggy). That he couldn't easily fix the one-character-undo
is another pointer to that (and, for all I've seen, the 2.x engine is not that
better).

It's main saving grace was the many extensions it had, and looking half-decent
and native on OS X. Basically, it caught on because it appeared on the right
time, and appealed to OS X users like web programmers etc, that wasn't old-
time unix buffs, and wanted something native looking without forking for
BBEdit (which itself was/is Carbon based and with a custom text display
widget).

I don't think Textmate deserved all that success --it should have happened to
a better editor.

~~~
benihana
> _I don't think Textmate deserved all that success --it should have happened
> to a better editor._

This doesn't make much sense. You say it appeared at the right time and was
pretty and native on OS X. What better editors deserved the success it had
that were available when TextMate was popular? Which editors were available on
OS X that weren't giant IDEs or VIM and Emacs style editors that have a
ridiculously steep learning curve?

I've never understood when people say something or someone doesn't deserve
something they've earned. TextMate is successful because lots of people bought
it. Who are you to judge what deserves to be successful and what doesn't,
especially when history seems to disagree with you?

~~~
batista
> _This doesn't make much sense. You say it appeared at the right time and was
> pretty and native on OS X. What better editors deserved the success it had
> that were available when TextMate was popular?_

The fact that there wasn't another editor that fulfilled all those "needs" at
the time (mainly: simple, native looking) does not mean that it deserved it's
success. What I'm saying is, it got its success not because it was better than
the competition but because there was no competition.

So, I just wish that something better was available at the time with the
wanted features (mainly: simple to use and native looking). It would have been
better for all in the long run.

> _I've never understood when people say something or someone doesn't deserve
> something they've earned._

You can earn something for lots of reasons, not always the best of reasons.
Nixon got the vote, doesn't mean he also deserved it.

> _TextMate is successful because lots of people bought it. Who are you to
> judge what deserves to be successful and what doesn't, especially when
> history seems to disagree with you?_

Actually history seems to agree with me. Did you miss the part when the
promised 2 was worked on for 6 years, got nowhere, delivered a disappointing
alpha and got dump half-heartedly (as in with GPLv3, with the intention to
continue commercial development) on GitHub?

~~~
mdemare
> The fact that there wasn't another editor that fulfilled all those "needs"
> at the time (mainly: simple, native looking) does not mean that it deserved
> it's success. What I'm saying is, it got its success not because it was
> better than the competition but because there was no competition.

What kind of doublespeak is that? If there's a race, and you're the only one
who shows up, you deserve to win, period.

~~~
KingMob
Uhh, the same doublespeak as pointing out that if you're the only one to show
up for a race, you're also the one that came in last?

------
drivebyacct2
Found a build from today.

Not sure why this is supposedly so much better than ST2. I've got a Go(lang)
bundle installed and a theme that I prefer over my current ST2 theme, but I
like the file browser, tabs and menu layout better in ST2.

------
SmileyKeith
Well TextMate was cool while it lasted. Good thing I switched to Sublime Text
2 a week ago.

~~~
andybak
So you think open-sourcing is a death sentence? Care to share your reasons?
(genuine question)

~~~
chipotle_coyote
I think it's a _likely_ death sentence, although certainly not a guaranteed
one.

Clearly a lot of open source projects maintain active development for
years/decades. But there aren't many success stories I can think of offhand
when it comes to closed source commercial software converting to open source.
The only big one that immediately comes to mind is OpenOffice, and it's a
pretty unusual case -- it still had an actively-maintained proprietary
commercial version developed alongside the open source version for years.

If you as an individual think having your editor be open source is critical,
you weren't using TextMate anyway. If you _were_ using TextMate, you're
probably willing to pay $50-60 for a "Mac-like experience" with a closed
source but extensible editor. That mostly leaves diehard TextMate 1.x users
and people who would try a free TextMate for beer rather than speech reasons.
I'm dubious as to whether there's a sufficiently talented and motivated subset
of that group to seriously further TM's development.

Lastly, I'm not sure there's _room_ for another "industrial strength" open
source text editors. It's probably not much of an exaggeration to say that
there's Emacs, Vim, jEdit for the weirdos, and Things Only Their Authors Use.
And in all of the big cases, those editors are cross-platform. TM isn't and
won't be for years, if ever.

