Tech —

Odgaard: “I will continue working on TextMate as long as I am a Mac user”

Developer rebuts criticism from all sides on open sourcing the OS X text editor.

Odgaard ostensibly instructs his niece on the finer points of software freedom on a recent holiday.
Odgaard ostensibly instructs his niece on the finer points of software freedom on a recent holiday.

Lead TextMate developer Allan Odgaard's decision yesterday to open source the code for the long-awaited version 2.0 was met with a lot of criticism. Ars readers chimed in via comments, our Open Forum, and Twitter, questioning Odgaard's motives and slamming his current choice of GPLv3 license.

We spoke to Odgaard hoping to clear the air on the matter, though he wasn't very confident that his explanations would "affect public perception of the project." However, he was adamant that his decision to open source TextMate 2.0 was not a sign that he was giving up on the now six-year-long endeavor to build a new version from scratch.

"I haven’t given up on TextMate," Odgaard told Ars.

Long time coming

It's easy to see why skeptics aren't quite ready to believe Odgaard, however. TextMate's design, extensible "bundle" plug-in architecture, and early embrace of OS X technologies made it a favorite text and code editor for developers, writers, and website creators. A major 2.0 was first promised in 2006, and delayed repeatedly. As years passed, TextMate 2.0 became a sort of Duke Nukem Forever of text editors.

Promise was renewed somewhat in late 2011, when Odgaard announced an early alpha was available to registered users. But seven months later, even with much progress made, he is no closer to committing to a final release date.

"Of course, many perceive this as me giving up, but for that, I just need to prove them wrong," Odgaard said. "I need to continue to work on it, rather than make PR statements."

In a blog post announcing that TextMate 2.0 code is available via GitHub, Odgaard justified his decision by saying that he wanted to give users freedom to "tinker with their environment" and as a "small attempt of countering such [a] trend" by Apple to "limit our freedom."

But Odgaard told Ars the reasons are actually more far-reaching.

"Open sourcing TextMate is actually something I wanted to do early on, when I experienced the community around bundles," Odgaard said. Bundles are add-ons that enable TextMate to work with different programming languages, or process text in new ways; they allow TextMate users to customize the app to their particular workflow.

"But," Odgaard said, "I felt it was good to keep the kernel closed source for a few reasons." One reason was the ability to package TextMate and charge money, supporting future development—any developer's basic business plan. And Odgaard felt that customizations belonged in community-created bundles, not in the TextMate "kernel." Finally, he was concerned that the barrier to entry in writing code for TextMate was much higher than bundles, and might limit useful contributions.

"As people started to write plug-ins based on reverse engineering TextMate, though, I started to realize that there was talent out there," Odgaard said.

The decision was not really the direct result of any particular action by Apple, but more "a long process of maturing, of opening up," according to Odgaard. "It took a bit of guts, too, because there’s a chance I could lose the revenue generated from it."

Non-reciprocal license

Many open source proponents and would-be code contributors were vociferous in their opposition to Odgaard's choice of version 3 of the GNU General Public License, while asking upstream code patches to carry a public domain license. The problem, unfortunately, is the tug-of-war between FOSS principles and the desires of commercial ventures.

Distributing compiled binary applications via avenues like the Mac App Store presents problems for code released under a GPL license. GPLv3 allows Odgaard to prevent others from legally forking his code and creating separate closed-source versions. However, asking for a public domain license for submitted patches means that those patches could be distributed in a future Mac App Store version, "in case I ever want to do that—which I doubt," Odgaard said. It would also allow him to release future versions or portions of the code with a more permissive license, should he decide it makes sense to do.

"Presently, a friend of mine is actually using some of my frameworks in a closed source app, so he would not be able to continue to do that if I got GPL'd patches," Odgaard explained. "I would need the upstream patches to not be GPLv3."

That's not to say Odgaard won't accept patches that come with a GPLv3 license. "A GPLv3 patch is definitely magnitudes better than no patch. You could just send it under GPL, and I'll ask the day I need to do something non-GPL with the source," he said. That might still not sit well with the patch developer, however, so the code might end up getting removed.

It's clearly a tenuous situation, but one that Odgaard believes is worth it in the long run. He strongly believes software should be "free as in speech," citing one of the four tenets of software freedom as his most important principle: "The freedom to study how the program works, and change it so it does your computing as you wish."

As far as his decidedly off-hand jab at Apple, Odgaard sees his open sourcing effort as a sort of proof-of-concept that open source software and protected platforms need not necessarily be at odds with each other.

"I moved to OS X in 2001 because Apple seemed to be pro-open source and pro-open standards," Odgaard said. "Today they avoid GPLv3 like the plague, they are creating walled gardens, they make APIs that are App Store-only and then control which apps can go on the App Store."

"I think it was clear to many of us that Apple’s embrace of open source and open standards was a strategic move"—not necessarily a philosophical one—"but I fail to see the big strategic advantage of going away from it," Odgaard continued. "I hope TextMate will be a showcase of a successful commercial product that is also 'free as in speech.'"

Wherefore art thou, TextMate?

All that being said, many users just want to know when TextMate 2.0 will be released. Unfortunately, after over six years, Odgaard still doesn't have a solid answer.

"What I can say is that I think 2.0 is a lot better than 1.x was, even though it has many rough spots," Odgaard said. "Those rough spots are mostly issues around stuff I don’t really use myself—that also played a part in open sourcing it."

"My motivation is and always was to create a great editor. If I find something better that fills my needs, I will switch to that—but I doubt it [will happen]. I will continue using and working on TextMate for as long as I am a Mac user."

Listing image by Smilla Odgaard

Channel Ars Technica