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

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."

102 Reader Comments

Loved TextMate while I was on OS X... Sublime 1 and Sublime 2 has been my friend for Windows...

I am guessing the complaints are either about the license type or the fact that he hasn't finished it and they are afraid he won't? I don't know... it all seems like a good thing to me, open sourcing it.

It says magnitudes that not even the Linux kernel uses GPLv3. This is why I still prefer the BSD/MIT licenses, as they give you the freedom to do whatever you want with the code, regardless of the wishes of the original developer. If that is a closed-source Mac App Store app, so be it.

Seems to me that it's not a binary choice between being Open Source or being Walled Garden. Apple is still a big supporter of Open Source, as far as I can see (LLVM, Webkit, GCD, etc), but is also working on a curated solution that would provide them with profits and also protect the average user (who is not concerned about GPL or Open Source) from viruses and malware.

Hobbiests and some developers care about software wanting to be free. The other 99% doesn't and isn't really affected by whether software is free or not. (DRM is a different topic.)

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.

lol I love it when nerds do this.

If some app isn't under you're preferred open source license, go write your own fucking app.

No it doesn't. Even if people wanted that, doing so would be logistically impossible as you'd have to get approval from every copyright holder with code in the kernel to get the approval, a task that is pretty much insurmountable. Linux is effectively locked into the GPLv2.

Seems to me that it's not a binary choice between being Open Source or being Walled Garden. Apple is still a big supporter of Open Source, as far as I can see (LLVM, Webkit, GCD, etc), but is also working on a curated solution that would provide them with profits and also protect the average user (who is not concerned about GPL or Open Source) from viruses and malware.

Hobbiests and some developers care about software wanting to be free. The other 99% doesn't and isn't really affected by whether software is free or not. (DRM is a different topic.)

As soon as you correlated Open Source and GPL with viruses and malware, your considerable ignorance on the subject became clear. Malware is vastly more prevalent among closed-source software than open-source software. Prevalent malware vectors: MS Office, Internet Explorer, Acrobat Reader. Prevalent environment for malware: MS Windows. If anything, there is an inverse correlation between open-source software and malware.

Seems to me that it's not a binary choice between being Open Source or being Walled Garden. Apple is still a big supporter of Open Source, as far as I can see (LLVM, Webkit, GCD, etc), but is also working on a curated solution that would provide them with profits and also protect the average user (who is not concerned about GPL or Open Source) from viruses and malware.

Hobbiests and some developers care about software wanting to be free. The other 99% doesn't and isn't really affected by whether software is free or not. (DRM is a different topic.)

As soon as you correlated Open Source and GPL with viruses and malware, your considerable ignorance on the subject became clear. Malware is vastly more prevalent among closed-source software than open-source software. Prevalent malware vectors: MS Office, Internet Explorer, Acrobat Reader. Uncommon malware vectors: Firefox, OpenOffice.

Well, actually malware seems often be added on pirated versions of closed-source software.That doesn't mean they couldn't be added to open source software.

The real use of an App-store for consumer OS makers is the fact that it's an easily accessible platform for clueless users to go look for software instead of having them roaming the net for something that would fill their needs. How many times have I had to rescue friends and family that tried to install open software not knowing what they were doing.

The same way if Apple restrict some APIs to MAS apps it has more to do with trying to give an edge to OS X and their computer line, than an hatred to open-source. Personal computers are a receding market (they make as much cash for Apple than iPods, a declining line of products).

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.

lol I love it when nerds do this.

If some app isn't under you're preferred open source license, go write your own fucking app.

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."

Note that he never stated the open sourcing was in response to Apple's behavior--only that Apple's behavior was behind the choice of the GPL3 as the license. Chris Foresman is the one who made the claim that TextMate was being open sourced specifically because of Apple.

As soon as you correlated Open Source and GPL with viruses and malware, your considerable ignorance on the subject became clear. Malware is vastly more prevalent among closed-source software than open-source software. Prevalent malware vectors: MS Office, Internet Explorer, Acrobat Reader. Prevalent environment for malware: MS Windows. If anything, there is an inverse correlation between open-source software and malware.

You seem to have misunderstood entirely; there is no correlation between OSS and malware. Apple's walled garden is a way for users to avoid malware by ONLY trusting certified software. Installing random crap off the internet is the quickest way to install malware, and Apple is actively interceding in that by giving users the option to wall themselves off from that random crap.

Nitpick: wherefore does not mean where. There isn't a comma after "thou" in "wherefore art thou Romeo" because "wherefore" means why.

I am fully cognizant of the meaning of the term. I.e. the heading means “For what reason does TextMate exist?” Answer, according to Odgaard: “My motivation is and always was to create a great editor.”

I don't think the comma really makes the actual meaning ambiguous, except that it clearly leads people to assume I'm erroneously using the phrase, which, as noted, did not originally contain a comma. Also, parsing my use here in the exact same way as the original, the question would be, "Why are you [called] TextMate?"

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.

lol I love it when nerds do this.

If some app isn't under you're preferred open source license, go write your own fucking app.

The open source world has text editors. Oh boy does it have text editors. You can fuck us all dead up the wrong hole if we don't.

No it doesn't. Even if people wanted that, doing so would be logistically impossible as you'd have to get approval from every copyright holder with code in the kernel to get the approval, a task that is pretty much insurmountable. Linux is effectively locked into the GPLv2.

Not true. The applicable paragraph from GPL 2:

> This program is free software; you can redistribute it and/or modify> it under the terms of the GNU General Public License as published by> the Free Software Foundation; either version 2 of the License, or> (at your option) any later version.

rgigger, linux does not come with the clause you cited, so it is not relevant here. What microlith wrote is true. However, it is also well known that Linus Torvalds is quite happy with version 2 of the license, and do not see the great need for the improvements made in version 3.That said, make no mistake. The intent of GPL2 and GPL3 are practically identical.

You seem to have misunderstood entirely; there is no correlation between OSS and malware. Apple's walled garden is a way for users to avoid malware by ONLY trusting certified software. Installing random crap off the internet is the quickest way to install malware, and Apple is actively interceding in that by giving users the option to wall themselves off from that random crap.

You need to educate yourself. The package repositories of linux distributions have demonstrated how one may distribute software in a safe manner (almost a decade before Apple came with it's store), but it has always been possible to install apps outside of the package system. Apple's app store is about not giving you choice. Sure, you still have some choice on the desktop, but even that seems to be going gradually away now. Apple's walled garden has nothing to do with user choice or security. It is about getting more money from you by limiting your choices. It is about getting more money from you by controlling your access to apps.

rgigger, linux does not come with the clause you cited, so it is not relevant here. What microlith wrote is true. However, it is also well known that Linus Torvalds is quite happy with version 2 of the license, and do not see the great need for the improvements made in version 3.That said, make no mistake. The intent of GPL2 and GPL3 are practically identical.

9. The Free Software Foundation may publish revised and/or new versionsof the General Public License from time to time. Such new versions willbe similar in spirit to the present version, but may differ in detail toaddress new problems or concerns.

Each version is given a distinguishing version number. If the Programspecifies a version number of this License which applies to it and "anylater version", you have the option of following the terms and conditionseither of that version or of any later version published by the FreeSoftware Foundation. If the Program does not specify a version number ofthis License, you may choose any version ever published by the Free SoftwareFoundation.

...

Quote:

This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.

Am I missing something here? That is straight from the git repository at kernel.org. Does it specify somewhere else that only version 2 can be used?

Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.

Am I missing something here? That is straight from the git repository at kernel.org. Does it specify somewhere else that only version 2 can be used?

The kernel source files generally have this or a similar line: * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; version 2 * of the License.

Some files may have the "or later" clause, but most don't. Therefore, the kernel as a whole is GPL v2, until all contributors who used a v2-only license have agreed to another license.And a bunch of contributors, including Torvalds himself, have stated that they won't change the license on their contributions.

Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.

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.

lol I love it when nerds do this.

If some app isn't under you're preferred open source license, go write your own fucking app.

I love that! WIll use it more and more in my life. You've got a winning attitude my friend.

Don't like your car? Build your own fucking car!Don't like how much your heart surgeon charges? Cut your own fucking chest open and perform bypass surgery!

So nice of you to assume I'm uneducated because you perceive that I disagree with you.

Del_ wrote:

The package repositories of linux distributions have demonstrated how one may distribute software in a safe manner (almost a decade before Apple came with it's store), but it has always been possible to install apps outside of the package system.

Indeed it has, and you must trust in the packagers to provide you with safe software. Source code has been compromised with intentional vulnerabilities in the past, and will be again. You clearly trust in that process, but it is not foolproof.

I happen to recall the days before those repositories were widely available. Installing software is far more convenient today but, in my very well educated opinion, it is no more secure to install packaged software today than to build it from source.

Del_ wrote:

Apple's app store is about not giving you choice. Sure, you still have some choice on the desktop, but even that seems to be going gradually away now. Apple's walled garden has nothing to do with user choice or security. It is about getting more money from you by limiting your choices. It is about getting more money from you by controlling your access to apps.

[/quote]

This is your opinion, and you are entitled to it. I have yet to be unable to install the software of my choosing on my Mac. If ever I do, consider yourself vindicated.

You appear to be suspicious of anyone making lots of money, especially from software, but you fail to recognize that some of us choose to live in that walled garden. When I'm at home, I don't want to deal with the crap that I get from Windows and Linux; I choose to use a Mac because it works well for me.

Nitpick: wherefore does not mean where. There isn't a comma after "thou" in "wherefore art thou Romeo" because "wherefore" means why.

I am fully cognizant of the meaning of the term. I.e. the heading means “For what reason does TextMate exist?” Answer, according to Odgaard: “My motivation is and always was to create a great editor.”

I don't think the comma really makes the actual meaning ambiguous, except that it clearly leads people to assume I'm erroneously using the phrase, , as noted, did not originally contain a comma. Also, parsing my use here he exact same way as the original, the question would be, "Why are you [called] TextMate?"

Compare:Why are you, TextMate?vs.Why are you TextMate?

However, the next sentence under the subheading certainly creates the impression that you meant "where" or "when", not "why":

"All that being said, many users just want to know when TextMate 2.0 will be released."

In other words, "Where the hell is TextMate 2.0?" or "When the hell will it be released?".

I feel his criticism was justified.

Also, you guys should look into commenting on Android phones. The cursor jumps everywhere. I actually had to wake up my PC to fix this reply.

I would like to point out to the author that the GPL has been around for a hell of a lot longer than the Apple App Store. The GPL is what it has always been (for the most part). If Apple refuses to abide by the rules, then its Apple's fault that they can't put GPL software in the store. Its not FOSS's fault. Frankly, ther eis nothing in the GPL stopping Apple from accepting GPL software except their own stubborness.

Why in the hell does Ars keep double posting articles? I have no desire to repeat everything in two places. Not to mention half the time I can't remember where I was when I posted my response. Way to confuse your readership.

Honestly I think this is a smart move to open it up. After 6 years of development and still no end in sight, something had to be done. Maybe he saw what happened to MS Vista after 8 years of development and decided he finally needed outside help to finish the product. Open source will help foster more open source products and offer a little diversity to the product line.

What a load of rubbish. The only APIs that are restricted to MAS apps are the ones that use Apple's iCloud services. Don't want iCloud? Sign your app and distribute it wherever you want. Don't want to sign? Ask your users to override the security dialog by pressing the Option key or disabling Gatekeeper.

Clearly the goal of that restriction is to allow Apple to check all apps that use iCloud services and thus prevent abuses, for example abuses of remote push notifications. The local kind of notifications are available for all apps, MAS or not.